UIAlertView在其他页面快速显示?

本文介绍了一种使用Objective-C实现自定义弹窗对话框的方法,通过创建一个继承自UIAlertViewDelegate的CSRAlertView类,实现了传入自定义的标题、消息、按钮标题等功能,并提供了完成回调来响应用户的操作。

直接上代码:

 1,.h文件

 

#import <Foundation/Foundation.h>

typedef void (^CSRAlertCompletion)(NSInteger);

@interface CSRAlertView : UIAlertView <UIAlertViewDelegate> {
    CSRAlertCompletion completionBlock;
}

- (void)showWithCompletionHandler:(CSRAlertCompletion)aBlock;

@end

2,.m文件

#import "CSRAlertView.h"

@implementation CSRAlertView

- (void)showWithCompletionHandler:(CSRAlertCompletion)aBlock {
    self.delegate = self;
    completionBlock = [aBlock copy];
    [self show];
}

- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex {
    completionBlock(buttonIndex);
    completionBlock = nil;
}

@end


3,如何使用:

            CSRAlertView *alert = [[CSRAlertView alloc]
                                   initWithTitle:@"title"
                                   message:@"test 一把"
                                   delegate:self
                                   cancelButtonTitle:@"Cancel"
                                   otherButtonTitles:@"Yes", nil];
            
            [alert showWithCompletionHandler:^(NSInteger buttonIndex) {
                if (buttonIndex == 1) {
                    [[Devices sharedInstance] removeDevice:meshDevice];
                }
            }];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值