美文网首页
如何去简单的封装系统自带的UIAlertController

如何去简单的封装系统自带的UIAlertController

作者: 陈先生的干货店 | 来源:发表于2019-08-15 17:14 被阅读0次

建议把这个放在你的baseController里面,需要用的时候非常的容易

//baseController.h
- (void)showAlertControllerWithTitle:(NSString *)title
                             message:(NSString *)message
                         actionNames:(NSArray<NSString *> *)actionNames
                 actionIndexCallBack:(void(^)(NSInteger actionIndex))actionCallBlock;
//baseController.m
- (void)showAlertControllerWithTitle:(NSString *)title
                             message:(NSString *)message
                         actionNames:(NSArray<NSString *> *)actionNames
                 actionIndexCallBack:(void (^)(NSInteger actionIndex))actionCallBlock {
    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title
                                                                             message:message
                                                                      preferredStyle:UIAlertControllerStyleAlert];
    
    for (int i = 0; i < actionNames.count; i ++) {
        UIAlertAction *action = [UIAlertAction actionWithTitle:actionNames[i]
                                                         style:UIAlertActionStyleDefault
                                                       handler:^(UIAlertAction * _Nonnull action) {
                                                           actionCallBlock(i);
                                                       }];
        [alertController addAction:action];
    }
    [self presentViewController:alertController animated:YES completion:nil];
}

写好的方法就可以直接拿出来使用了,使用起来就非常方便了

//    NSArray *actionNames = @[@"111",@"222",@"333",@"444"];
    NSArray *actionNames = @[@"取消",@"确定"];
    [self showAlertControllerWithTitle:@"温馨提示"
                               message:@"你好"
                           actionNames:actionNames
                   actionIndexCallBack:^(NSInteger actionIndex) {
                       NSLog(@"%@",actionNames[actionIndex]);
                       if (actionIndex == 0) {
                            //do your work
                       }else if (actionIndex == 1) {
                           //do your work
                       }
                       //....
                   }];

相关文章

网友评论

      本文标题:如何去简单的封装系统自带的UIAlertController

      本文链接:https://www.haomeiwen.com/subject/hpttsctx.html