iOS 9.0中UIAlertController的用法。

iOS 9.0中UIAlertController的用法。

1.我为什么要写这篇博客记录它?

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

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

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

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

3.怎么使用UIAlertController呢?

答:废话不多说直接上代码。如下所示:

/*

类方法快速创建一个提示控制器 值得注意的是这个控制器有个preferreStyle属性你可以根据这个属性来确定是使用UIAlertView 还是 UIActionSheet

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回调中这样方便了很多不是吗? 而且将原来的两个控件合二为一。我们可以自行再次对其封装 使用会更加方便。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载 http://www.cocoachina.com/ios/20141126/10320.html如果侵权,...
    小刘_假装是个程序员阅读 663评论 0 0
  • iOS 8的新特性之一就是让接口更有适应性、更灵活,因此许多视图控制器的实现方式发生了巨大的变化。全新的UIPre...
    乌拉拉zzZ阅读 940评论 0 2
  • iOS 8的新特性之一就是让接口更有适应性、更灵活,因此许多视图控制器的实现方式发生了巨大的变化。全新的UIPre...
    Tank丶Farmer阅读 2,118评论 2 4
  • 春节已过,像结了婚的孩子,又开始慢慢安静,家里的年准备的简单,看不出与平时有什么区别,如果说没有区别,到有些假,区...
    余小胃阅读 288评论 0 2
  • 七月一号 雨 很想问你那里的天气好不好 可是怎么开口呢 我们是不联系的两个人啊
    是kiki啊阅读 145评论 0 0