IOS开发之UIAlertController的用法
白羽 2018-06-22 来源 :网络 阅读 906 评论 0

摘要:本文将带你了解IOS开发之UIAlertController的用法,希望本文对大家学IOS有所帮助。


UIAlertController的用法

1 UIAlertView和UIActionSheet 被划线了 苹果不推荐我们使用这两个类了,也不再进行维护和更新,为了方便以后使用我来记录一下。如图所示正如苹果所说它现在让我们用UIAlertConntroller(其实iOS 8.0就可以使用这个类了) 并设置样式为UIAlertcontrollerStyleAlert 就是原来的UIAlertView了,同理UIAlertcontrollerStyleActionSheet就是UIActionSheet。

 IOS开发之UIAlertController的用法

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

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

3.怎么使用UIAlertController呢?

[objc] view plain copy

1. /* 

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

3.   

4.  UIAlertControllerStyleActionSheet 

5.  UIAlertControllerStyleAlert 

6.  */  

7.  /* 

8. 在UIAlertController可以添加的按钮总共有三类 

9. UIAlertActionStyleDefault       普通 

10. UIAlertActionStyleDestructive   红色 

11. UIAlertActionStyleCancel        取消 

12. */  

[objc] view plain copy

1. -(void)alertViewControl{  

2.       

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

4.       

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

6.             NSLog(@"点击取消");  

7.     }]];  

8.       

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

10.         NSLog(@"点击警告");  

11.     }]];  

12.       

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

14.             NSLog(@"点击确认");  

15.     }]];  

16.       

17.     //如果是UIAlertControllerStyleActionSheet不能使用添加输入框的方法 不然会崩溃的。。。  

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

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

20.         //监听  

21.         [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(listeningTextField:) name:UITextFieldTextDidChangeNotification object:textField];  

22.     }];  

23.       

24.     // 由于它是一个控制器 直接modal出来就好了  

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

26.   

27. }  

[objc] view plain copy

1. //监听弹框上的输入内容的变化  

2. -(void)listeningTextField:(NSNotification *)notionfication{  

3.     UITextField *thisTextField = (UITextField*)notionfication.object;  

4.     NSLog(@"%@",thisTextField.text);  

5. }  

4.UIAlertController有什么好处?

答:省去了繁琐的代理方法,原来的控件点击每个功能按钮调用方法 还得调用代理方法 要不然就是自己封装一下,现在好了 由一个控制器来管理 操作方便了些 而且每个功能键都很清晰,点击调用的方法都写在block回调中这样方便了很多不是吗? 而且将原来的两个控件合二为一。我们可以自行再次对其封装 使用会更加方便。

 


 


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程