1.简介:
在Xcode的iOS8 SDK中,UIAlertView和UIActionSheet都被UIAlertController取代。官方库解释:“UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead.”、“UIActionSheet is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleActionSheet instead.”。说明了在iOS8+开发,UIALertView和UIActionSheet已经过时了,UIAlertController以一种模块化替换的方式来代替这两这两个控件的功能和作用。
2.类型:
preferredStyle风格样式有两种:UIAlertControllerStyleAlert和UIAlertControllerStyleActionSheet,是分别代表要代替的UIAlertView和UIActionSheet
3.显示UIAlertController
1、UIAlertController继承于UIViewController;
2、显示需要使用UIViewController的方法:presentViewController 弹出视图控制器。
4.添加按钮到UIAlertController
1、创建UIAlertAction作为UIAlertController的按钮项;
2、初始化使用方法了:actionWithTitle: style: handler:;
3、设置Title、 style、handler(是一个闭包);
4、添加 UIAlertAction至UIAlertController。
5.添加文本输入框
1、 文本输入框只能添加到Alert的风格中,ActionSheet是不允许的;
2、UIAlertController具有只读属性的textFields数组,需要可直接按自己需要的顺序添加;
3、添加方式是使用block,参数是UITextField;
4、添加UITextField监听方法和实现方法
具体代码如下
//1.创建一个UIAlertController选择风格样式
let alertView2 = UIAlertController.init(title: "结束", message: "是否重来", preferredStyle: UIAlertControllerStyle.Alert)
//2.区别 Style :显示在屏幕正中央
// ActionSheet: 显示在屏幕最底部的中央
//3.显示UIAlertController
self.presentViewController(alertView2, animated: true, completion: nil)
//4.添加按钮到UIAlertController
let action = UIAlertAction.init(title: "取消", style: UIAlertActionStyle.Cancel) { (nil) in
}
let action2 = UIAlertAction.init(title: "默认", style: UIAlertActionStyle.Default) { (nil) in
}
let action3 = UIAlertAction.init(title: "重置", style: UIAlertActionStyle.Destructive) { (nil) in
}
alertView2.addAction(action)
alertView2.addAction(action2)
alertView2.addAction(action3)
//5.添加文本输入框
//添加文本输入框,以登录、密码为例
alertView2.addTextFieldWithConfigurationHandler { (textField :UITextField) in
textField.placeholder = "登录"
}
alertView2.addTextFieldWithConfigurationHandler { (textField :UITextField) in
textField.placeholder = "密码"
textField.secureTextEntry = true
}
```
运行结果如下:
![result.png](https://img.haomeiwen.com/i2670926/eae70eee10b5538c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
网友评论