zoukankan      html  css  js  c++  java
  • Swift

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


    1,简单的应用(同时按钮响应Handler使用闭包函数)
      
    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
    import UIKit
     
    class ViewController: UIViewController ,UIActionSheetDelegate {
        override func viewDidLoad() {
            super.viewDidLoad()
        }
         
        override func viewDidAppear(animated: Bool){
            super.viewDidAppear(animated)
             
            let alertController = UIAlertController(title: "系统提示",
                message: "您确定要离开hangge.com吗?", preferredStyle: UIAlertControllerStyle.Alert)
            let cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel, handler: nil)
            let okAction = UIAlertAction(title: "好的", style: UIAlertActionStyle.Default,
                handler: {
                    action in
                    print("点击了确定")
            })
            alertController.addAction(cancelAction)
            alertController.addAction(okAction)
            self.presentViewController(alertController, animated: true, completion: nil)
        }
         
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    }


    2,除了弹出,还可以使用从底部向上滑出的样式
    (注意:如果上拉菜单中有“取消”按钮的话,那么它永远都会出现在菜单的底部,不管添加的次序是如何)

     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var alertController = UIAlertController(title: "保存或删除数据", message: "删除数据将不可恢复",
        preferredStyle: UIAlertControllerStyle.ActionSheet)
    var cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel, handler: nil)
    var deleteAction = UIAlertAction(title: "删除", style: UIAlertActionStyle.Destructive, handler: nil)
    var archiveAction = UIAlertAction(title: "保存", style: UIAlertActionStyle.Default, handler: nil)
    alertController.addAction(cancelAction)
    alertController.addAction(deleteAction)
    alertController.addAction(archiveAction)
    self.presentViewController(alertController, animated: true, completion: nil)


    3,按钮使用“告警”样式(文字颜色变红,用来来警示用户)

      
    1
    var okAction = UIAlertAction(title: "好的", style: UIAlertActionStyle.Destructive, handler: nil)


    4,添加任意数量文本输入框(比如可以用来实现个登陆框)

      
    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
    import UIKit
     
    class ViewController: UIViewController ,UIActionSheetDelegate {
        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: UIAlertActionStyle.Cancel, handler: nil)
            let okAction = UIAlertAction(title: "好的", style: UIAlertActionStyle.Default,
                handler: {
                    action in
                    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)
  • 相关阅读:
    Codeforces467C George and Job
    Codeforces205E Little Elephant and Furik and RubikLittle Elephant and Furik and Rubik
    Codeforce205C Little Elephant and Interval
    51nod1829 函数
    51nod1574 排列转换
    nowcoder35B 小AA的数列
    Codeforce893E Counting Arrays
    gym101612 Consonant Fencity
    CodeForces559C Gerald and Giant Chess
    CodeForces456D A Lot of Games
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4838384.html
Copyright © 2011-2022 走看看