• Swift


    自iOS8起,苹果就建议告警框使用UIAlertController来代替UIAlertView和UIActionSheel。下面总结了一些常见的用法(本文代码都已更新至Swift3)

     
    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
    import UIKit
     
    class ViewControllerUIViewController {
        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.present(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.present(alertController, animated: true, completion: nil)


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

      
    原文:Swift - 告警提示框(UIAlertController)的用法
    1
    let okAction = UIAlertAction(title: "好的", style: .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
    import UIKit
     
    class ViewControllerUIViewController {
        override func viewDidLoad() {
            super.viewDidLoad()
        }
         
        override func viewDidAppear(_ animated: Bool){
            super.viewDidAppear(animated)
             
            let alertController = UIAlertController(title: "系统登录",
                                message: "请输入用户名和密码", preferredStyle: .alert)
            alertController.addTextField {
                (textField: UITextField!) -> Void in
                textField.placeholder = "用户名"
            }
            alertController.addTextField {
                (textField: UITextField!) -> Void in
                textField.placeholder = "密码"
                textField.isSecureTextEntry = 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!
                let password = alertController.textFields!.last!
                print("用户名:(login.text) 密码:(password.text)")
            })
            alertController.addAction(cancelAction)
            alertController.addAction(okAction)
            self.present(alertController, animated: true, completion: nil)
        }
         
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    }


    5,使用代码移除提示框

    1
    self.presentedViewController?.dismiss(animated: false, completion: nil)


    6,提示框弹出后,过段时间自动移除
    下面样例弹出一个不带按钮的消息提示框,过个两秒钟提示框自动消失。

    原文:Swift - 告警提示框(UIAlertController)的用法
    1
    2
    3
    4
    5
    6
    7
    8
    let alertController = UIAlertController(title: "保存成功!",
                                            message: nil, preferredStyle: .alert)
    //显示提示框
    self.present(alertController, animated: true, completion: nil)
    //两秒钟后自动消失
    DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) {
        self.presentedViewController?.dismiss(animated: false, completion: nil)
    }


    原文出自:www.hangge.com  转载请保留原文链接:http://www.hangge.com/blog/cache/detail_651.html

  • 相关阅读:
    有种感觉叫失去才知道珍惜
    Alternativa 3D Series – Tutorial 1 – Getting Started
    ruby中使用MiniMagick处理图片
    RMagick动态生成图片
    Rails Model验证之强大
    Rails验证信息的中文化
    Prawn:Ruby生成PDF更简捷的选择
    ruby gem相关命令使用
    Ruby Gems(1)–简要介绍和ruby on rails安装
    Rails安装
  • 原文地址:https://www.cnblogs.com/auvxx/p/6739846.html
Copyright © 2020-2023  润新知