iOS 9.0中UIAlertController的用法。

1.我为何要写这篇博客记录它?学习

答:由于 UIAlertView和UIActionSheet 被划线了 苹果不推荐咱们使用这两个类了,也再也不进行维护和更新,为了之后方便使用我来记录一下。如图所示spa

正如苹果所说它如今让咱们用UIAlertConntroller(其实iOS 8.0就可使用这个类了) 并设置样式为UIAlertcontrollerStyleAlert 就是原来的UIAlertView了,同理UIAlertcontrollerStyleActionSheet就是UIActionSheet。3d

 

2.那若是继续使用UIAlertView 和 UIActionSheet 这两个控件会不会有问题? 该如何选择使用哪一个呢?代理

答:继续使用不会有问题,就像之前过时的API同样 咱们同样可使用,可是苹果不会对其进行更新和维护了,就是说可能之后会有新功能,或者bug 苹果都不会对这两个控件进行更新了。对于选择,我的认为苹果既然取代了这两个类确定是有缘由的,多是控件拓展起来不便,也多是维护起来繁琐,使用起来麻烦等等吧,既然苹果推荐咱们用UIAlertController 那咱们就乖乖用好了。何况我用过发现比之前那两个控件好用不少。blog

 

3.怎么使用UIAlertController呢?博客

答:废话很少说直接上代码。以下所示:it

 /* io

        类方法快速建立一个提示控制器 值得注意的是这个控制器有个preferreStyle属性你能够根据这个属性来肯定是使用UIAlertView 仍是 UIActionSheet bug

            UIAlertControllerStyleActionSheet方法

            UIAlertControllerStyleAlert

     */

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"显示的标题" message:@"标题的提示信息" preferredStyle:UIAlertControllerStyleAlert];

    

    [alertController addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

        NSLog(@"点击取消");

    }]];

    

    [alertController addAction:[UIAlertAction actionWithTitle:@"肯定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

        NSLog(@"点击确认");

    }]];

    

    [alertController addAction:[UIAlertAction actionWithTitle:@"警告" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {

        NSLog(@"点击警告");

    }]];

    

    [alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {

        NSLog(@"添加一个textField就会调用 这个block");

    }];

    

    // 因为它是一个控制器 直接modal出来就行了

    [self presentViewController:alertController animated:YES completion:nil];

 

 

 

4.UIAlertController有什么好处?

答:省去了繁琐的代理方法,原来的控件点击每一个功能按钮调用方法 还得调用代理方法 要否则就是本身封装一下,如今好了 由一个控制器来管理 操做方便了些 并且每一个功能键都很清晰,点击调用的方法都写在block回调中这样方便了不少不是吗? 并且将原来的两个控件合二为一。咱们能够自行再次对其封装 使用会更加方便。

 

若是有不对的地方还请多多指教(QQ:234009184),我将怀着谦卑的心,努力学习。

相关文章
相关标签/搜索