Swift - UIAlertController

Posted ios-development

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift - UIAlertController相关的知识,希望对你有一定的参考价值。

添加AlertController

import UIKit
var imageView:UIImageView!
class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        let button = UIButton(frame: CGRect(x: 150, y: 250, width: 50, height: 50))
        button.backgroundColor = UIColor.black
        button.addTarget(self, action: #selector(ViewController.alertView), for: .touchUpInside)
        self.view.addSubview(button)
    }
    @objc func alertView()
    {
        //创建UIAlertController(警告窗口)
        let alert = UIAlertController(title: "Information", message: "sub title", preferredStyle: .alert)
        //创建UIAlertController(动作表单)
        let alertB = UIAlertController(title: "Information", message: "sub title", preferredStyle: .actionSheet)
        //创建UIAlertController的Action
        let OK = UIAlertAction(title: "OK", style: .default) { (UIAlertAction) in
            print("you selected ok")
        }
        let Cancel = UIAlertAction(title: "Cancel", style: .cancel) { (UIAlertAction) in
            print("you selected cancel")
        }
        //将Actiont加入到AlertController
        alert.addAction(OK)
        alert.addAction(Cancel)
        //以模态方式弹出
        self.present(alert, animated: true, completion: nil)
    }
}

添加文本输入框

import UIKit
var imageView:UIImageView!
class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        self.presentedViewController?.dismiss(animated: false, completion: nil)
    }
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        //添加任意数量文本输入框
        let alertController = UIAlertController(title: "登陆", message: "输入账号密码", preferredStyle: .alert)
        alertController.addTextField { (textField:UITextField) in
            textField.placeholder = "用户"}
        alertController.addTextField { (textField:UITextField) in
            textField.placeholder = "密码"
            textField.isSecureTextEntry = true
        }
        let Login = UIAlertAction(title: "登陆", style: .default, handler: nil)
        let Quit = UIAlertAction(title: "退出", style: .cancel, handler: nil)
        alertController.addAction(Login)
        alertController.addAction(Quit)
        //模态弹出提示框
        self.present(alertController, animated: true, completion: nil)
        //移除提示框
        self.presentedViewController?.dismiss(animated: false, completion: nil)
    }
}

自动消失的提示框

import UIKit
var imageView:UIImageView!
class ViewController: UIViewController {
    override func viewDidLoad() {
        
        }
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        let alert = UIAlertController(title: "自动关闭", message: "3s", preferredStyle: .alert)
        self.present(alert, animated: true, completion: nil)
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 3) {
            self.presentedViewController?.dismiss(animated: true, completion: nil)
    }
  }
}

以上是关于Swift - UIAlertController的主要内容,如果未能解决你的问题,请参考以下文章

swift UIAlertController使用 UIAlertController的宽度 为270

如何在 Swift 中旋转 UIAlertController

Swift:UIAlertController 在 while 循环中

Swift 如何获取 UIAlertController 标题高度

UiAlertView 或 UiAlertController 在 Swift 中仅显示一次

Swift3:在 SKView 中添加 UIAlertController