IOS学习:用UIWindow自定义AlertView(最基本代码)

//
//  ABCustomAlertView.h
//  KnowledgeChoice
//
//  Created by  on 13-6-19.
//  Copyright (c) 2013年 DoubleMan. All rights reserved.
//  自定义相应的控件及代理就可以用了。。

#import <UIKit/UIKit.h>

@interface ABCustomAlertView : UIWindow

// 显示
- (void)show;
// 消失
- (void)dismiss;

@end

//
//  ABCustomAlertView.m
//  KnowledgeChoice
//
//  Created by on 13-6-19.
//  Copyright (c) 2013年 DoubleMan. All rights reserved.
//

#import "ABCustomAlertView.h"

@implementation ABCustomAlertView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        self.windowLevel = UIWindowLevelAlert;
        // 这里,不能设置UIWindow的alpha属性,会影响里面的子view的透明度,这里我们用一张透明的图片
        // 设置背影半透明
        self.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"alert_bg.png"]];

        
        UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 80)] autorelease];
        view.backgroundColor = [UIColor blackColor];
        view.center = CGPointMake(160, 240);

        [self addSubview:view];
    }
    
    return self;
}

- (void)show {
    [self makeKeyAndVisible];
}

- (void)dismiss {
    [self resignKeyWindow];
    [self release];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    // 点击消失
    [self dismiss];
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    
}

@end

这只是基本的思路,调用的时候只要调show和dismiss就可以显示、消失了。。。

你可能感兴趣的:(ios,UIView,自定义UIAlertView)