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 标题高度