自定义UIAlertView

来源:互联网 发布:uu加速器连接网络失败 编辑:程序博客网 时间:2024/05/29 09:03
#import <UIKit/UIKit.h>@protocol CustomAlertViewDelagate <NSObject>// 返回值 是 是否点击完 按钮之后 需要消失AlertView- (BOOL)clickAlertView:(id)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;@end@interface CustomAlertView : UIAlertView@end
</pre><pre name="code" class="objc">
</pre><pre name="code" class="objc">


#import "CustomAlertView.h"
</pre><pre name="code" class="objc">@implementation CustomAlertViewid<CustomAlertViewDelagate> customDelegate;-(instancetype)initWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ...{    va_list args;    va_start(args, otherButtonTitles);    NSMutableArray *titles = [NSMutableArray arrayWithCapacity:1];    if (otherButtonTitles) {//获取可变参数               NSString *tmpstr ;        while ((tmpstr = va_arg(args, NSString*))) {            [titles addObject:tmpstr];        }        va_end(args);    }    customDelegate = delegate;    self = [super initWithTitle:title message:message delegate:nil cancelButtonTitle:cancelButtonTitle otherButtonTitles:otherButtonTitles,nil];    for (int i= 0; i<titles.count; i++) {        NSString *t = [titles objectAtIndex:i];        [self addButtonWithTitle:t];    }    return self;}-(void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated{    if ([customDelegate respondsToSelector:@selector(clickAlertView:clickedButtonAtIndex:)]) {        BOOL isDismiss =[customDelegate clickAlertView:self clickedButtonAtIndex:buttonIndex];        if (isDismiss) {             [super dismissWithClickedButtonIndex:buttonIndex animated:animated];        }    }    else    {        [super dismissWithClickedButtonIndex:buttonIndex animated:animated];    }}


Demo地址 http://download.csdn.net/detail/fhongchan/9207097


0 0
原创粉丝点击