Swift - 告警提示框(UIAlertController)的用法

自iOS8起,苹果就建议告警框使用UIAlertController来代替UIAlertView和UIActionSheel。下面总结了一些常见的用法:

1,简单的应用(同时按钮响应Handler使用闭包函数)
  
原文:Swift - 告警提示框(UIAlertController)的用法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import  UIKit
 
class  ViewController UIViewController  {
     override  func  viewDidLoad() {
         super .viewDidLoad()
     }
     
     override  func  viewDidAppear(animated:  Bool ){
         super .viewDidAppear(animated)
         
         let  alertController =  UIAlertController (title:  "系统提示" ,
             message:  "您确定要离开hangge.com吗?" , preferredStyle: . Alert )
         let  cancelAction =  UIAlertAction (title:  "取消" , style: . Cancel , handler:  nil )
         let  okAction =  UIAlertAction (title:  "好的" , style: . Default ,
             handler: {
                 action  in
                 print ( "点击了确定" )
         })
         alertController.addAction(cancelAction)
         alertController.addAction(okAction)
         self .presentViewController(alertController, animated:  true , completion:  nil )
     }
     
     override  func  didReceiveMemoryWarning() {
         super .didReceiveMemoryWarning()
     }
}

2,除了弹出,还可以使用从底部向上滑出的样式
(注意:如果上拉菜单中有“取消”按钮的话,那么它永远都会出现在菜单的底部,不管添加的次序是如何)
 
原文:Swift - 告警提示框(UIAlertController)的用法
1
2
3
4
5
6
7
8
9
let  alertController =  UIAlertController (title:  "保存或删除数据" , message:  "删除数据将不可恢复" ,
     preferredStyle: . ActionSheet )
let  cancelAction =  UIAlertAction (title:  "取消" , style: . Cancel , handler:  nil )
let  deleteAction =  UIAlertAction (title:  "删除" , style: . Destructive , handler:  nil )
let  archiveAction =  UIAlertAction (title:  "保存" , style: . Default , handler:  nil )
alertController.addAction(cancelAction)
alertController.addAction(deleteAction)
alertController.addAction(archiveAction)
self .presentViewController(alertController, animated:  true , completion:  nil )

3,按钮使用“告警”样式(文字颜色变红,用来来警示用户)
  
原文:Swift - 告警提示框(UIAlertController)的用法
1
var  okAction =  UIAlertAction (title:  "好的" , style:  UIAlertActionStyle . Destructive , handler:  nil )

4,添加任意数量文本输入框(比如可以用来实现个登陆框)
  
原文:Swift - 告警提示框(UIAlertController)的用法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import  UIKit
 
class  ViewController UIViewController  {
     override  func  viewDidLoad() {
         super .viewDidLoad()
     }
     
     override  func  viewDidAppear(animated:  Bool ){
         super .viewDidAppear(animated)
         
         let  alertController =  UIAlertController (title:  "系统登录" ,
             message:  "请输入用户名和密码" , preferredStyle:  UIAlertControllerStyle . Alert )
         alertController.addTextFieldWithConfigurationHandler {
             (textField:  UITextField !) ->  Void  in
             textField.placeholder =  "用户名"
         }
         alertController.addTextFieldWithConfigurationHandler {
             (textField:  UITextField !) ->  Void  in
             textField.placeholder =  "密码"
             textField.secureTextEntry =  true
         }
         let  cancelAction =  UIAlertAction (title:  "取消" , style: . Cancel , handler:  nil )
         let  okAction =  UIAlertAction (title:  "好的" , style: . Default ,
             handler: {
                 action  in
                 //也可以用下标的形式获取textField let login = alertController.textFields![0]
                 let  login = alertController.textFields!.first!  as  UITextField
                 let  password = alertController.textFields!.last!  as  UITextField
                 print ( "用户名:\(login.text) 密码:\(password.text)" )
         })
         alertController.addAction(cancelAction)
         alertController.addAction(okAction)
         self .presentViewController(alertController, animated:  true , completion:  nil )
     }
     
     override  func  didReceiveMemoryWarning() {
         super .didReceiveMemoryWarning()
     }
}

5,使用代码移除提示框
1
self .presentedViewController?.dismissViewControllerAnimated( false , completion:  nil )


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值