首页 > 代码库 > Swift - 警告提示框(UIAlertController)的用法

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

技术分享

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        // 创建
        let alertController = UIAlertController(title: "提示", message: "你确定要离开?", preferredStyle:.Alert)

        // 设置2个UIAlertAction
        let cancelAction = UIAlertAction(title: "取消", style: .Cancel, handler: nil)
        let okAction = UIAlertAction(title: "好的", style: .Default) { (UIAlertAction) in
            print("点击了好的")
        }

        // 添加
        alertController.addAction(cancelAction)
        alertController.addAction(okAction)

        // 弹出
        self.presentViewController(alertController, animated: true, completion: nil)
    }
}

技术分享

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

        // 创建
        // preferredStyle 为 ActionSheet
        let alertController = UIAlertController(title: "保存或删除数据", message: "删除数据将不可恢复", preferredStyle:.ActionSheet)

        // 设置2个UIAlertAction
        let cancelAction = UIAlertAction(title: "取消", style: .Cancel, handler: nil)
        let deleteAction = UIAlertAction(title: "删除", style: .Destructive, handler: nil)
        let saveAction = UIAlertAction(title: "保存", style: .Default, handler: nil)

        // 添加到UIAlertController
        alertController.addAction(cancelAction)
        alertController.addAction(saveAction)
        alertController.addAction(deleteAction)

        // 弹出
        self.presentViewController(alertController, animated: true, completion: nil)

技术分享

/*
        添加任意数量的文本输入框(比如可以用来实现登录框)
         */

        let alertController = UIAlertController(title: "系统登录", message: "请输入用户名和密码", preferredStyle: UIAlertControllerStyle.Alert)

        alertController.addTextFieldWithConfigurationHandler { (textField:UITextField) in
            textField.placeholder = "用户名"
        }
        alertController.addTextFieldWithConfigurationHandler { (textField:UITextField) in
            textField.placeholder = "密码"
            textField.secureTextEntry = true
        }

        let cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel, handler: nil)
        let okAction = UIAlertAction(title: "好的", style: UIAlertActionStyle.Default) { (UIAlertAction) in
            let login = alertController.textFields![0]
            let pwd = alertController.textFields![1]
            print("用户名:\(login.text) 密码:\(pwd.text)")
        }

        alertController.addAction(cancelAction)
        alertController.addAction(okAction)


        // 弹出
        self.presentViewController(alertController, animated: true, completion: nil)

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