Swift UI 15. UIAlertController使用

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](http://upload-images.jianshu.io/upload_images/2670926-eae70eee10b5538c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

你可能感兴趣的:(Swift UI 15. UIAlertController使用)