官网文档:UIAlertController
UIAlertController主要作为系统弹出提示功能,常用语弹出提示信息,但是可惜的是能自定义性差。
基本使用
1. 创建弹窗控制器
// 创建弹窗控制器
let alertController = UIAlertController(title: "Welcome to My First App",
message: "Hello World", preferredStyle: UIAlertControllerStyle.Alert)
//title:表示标题 message:表示提示信息
2. 添加按钮选项
let alertAction = UIAlertAction(title: "ok", style: UIAlertActionStyle.Cancel, handler: nil )//创建一个提示框按钮
3. 提示控制器添加按钮
alertController.addAction(alertAction)//向提示框添加事件
4. 显示提示
self.presentViewController(alertController, animated: true, completion: nil )//显示提示框,将目前视图控制器切换到提示框控制器,它才能显示
添加文本框
UIAlerController处理可以进行简单信息提示和选择,还可以为其添加输入框,获取弹出输入功能。但仅限style为alert样式。
UIAlertController提供 addTextFieldWithConfigerationHandller方法向提示框中添加文本框(个数不限)
// 添加文本框
alert.addTextField { (textField) in
textField.placeholder = "用户名"
}
alert.addTextField { (textField) in
textField.placeholder = "密码"
textField.isSecureTextEntry = true
}
获取文本框内容
UIAlertControler具有textFields属性可以获取文本框对象。同理可获取其值。
UIAlertController基本使用示例
一.对UIAlertController类的使用
1.创建一个UIAlertController的实例,
let alertController = UIAlertController(title: "欢迎使用我的软件", message: "你好", preferredStyle: UIAlertControllerStyle.Alert)//创建一个提示框的实例,并配置标题、信息、方式
其中初始化中preferredStyle参数是样式选择,存在枚举UIAlertControllerStyle中Alert:提示框样式/ActionSheet:上拉菜单样式
(.Alert)提示框样式如下图:出现位置在中间
(.ActionSheet)上拉菜单样式如下图:(出现位置在底部)
2.向提示框中添加事件按钮
let alertAction = UIAlertAction(title: "确定", style: UIAlertActionStyle.Default, handler: nil )//创建一个提示框事件(类似自定生成按钮)的实例,并配置
alertController.addAction(alertAction)//向提示框添加事件1
3.如何向提示框中添加多个事件按钮
let alertAction = UIAlertAction(title: "确定", style: UIAlertActionStyle.Default, handler: nil )//创建一个提示框事件(类似自定生成按钮)的实例,并配置
let alertAction1 = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel, handler: nil )
alertController.addAction(alertAction)//向提示框添加事件按钮1
alertController.addAction(alertAction1)//向提示框添加事件按钮2
效果如下图:
提示:如果添加两个事件按钮,它会并排出现,如果多余两个事件按钮,则会从上到下排列(类似下拉式,但是取消总会放在最下面【系统默认】,毁灭性事件按钮总应该放在最上面【用户界面指导】,但是出现位置在中间)
注意:参数UIAlertActionStyle.Cancel只能使用一次,否则会出错,按钮出现的顺序和添加按钮的顺序一致,而且根据苹果用户界面开发建议,一般把取消放在左边
而UIAlertActionStyle.Destructive(毁灭性的,不可恢复的)会使用红色字体显示