let alertView = UIAlertController(title: "系统提示", message: "你确定要退出", preferredStyle: .alert) let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil) let okAction = UIAlertAction(title: "好的", style: .default, handler: { action in print("点击了确定") }) alertView.addAction(cancelAction) alertView.addAction(okAction) self.present(alertView, animated: true, completion: nil)
let alertView = UIAlertController(title: "系统提示", message: "你确定要退出", preferredStyle: .actionSheet) let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil) let doNotAction = UIAlertAction(title: "不确定", style: .destructive, handler: nil) let okAction = UIAlertAction(title: "好的", style: .default, handler: { action in print("点击了确定") }) alertView.addAction(cancelAction) alertView.addAction(okAction) alertView.addAction(doNotAction) self.present(alertView, animated: true, completion: nil)
let alertController = UIAlertController(title: "登录", message: "请输入用户名和密码", preferredStyle:.alert) alertController.addTextField { (textFeild:UITextField!) in textFeild.placeholder = "用户名" } alertController.addTextField { (textFeild:UITextField!) in textFeild.placeholder = "密码" textFeild.isSecureTextEntry = true } let cancel = UIAlertAction(title: "取消", style:.cancel, handler: nil) let ok = UIAlertAction(title: "确定", style: .default) { (action:UIAlertAction) in let login = alertController.textFields!.first! let password = alertController.textFields!.last! print("用户名:\(login.text) 密码:\(password.text)") } alertController.addAction(cancel) alertController.addAction(ok) self.present(alertController, animated: true, completion: nil)
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) }
UIAlertController扩展(UIAlertExtension.swift)
import UIKit extension UIAlertController { //在指定视图控制器上弹出普通消息提示框 static func showAlert(message: String, in viewController: UIViewController) { let alert = UIAlertController(title: nil, message: message, preferredStyle: .alert) alert.addAction(UIAlertAction(title: "确定", style: .cancel)) viewController.present(alert, animated: true) } //在根视图控制器上弹出普通消息提示框 static func showAlert(message: String) { if let vc = UIApplication.shared.keyWindow?.rootViewController { showAlert(message: message, in: vc) } } //在指定视图控制器上弹出确认框 static func showConfirm(message: String, in viewController: UIViewController, confirm: ((UIAlertAction)->Void)?) { let alert = UIAlertController(title: nil, message: message, preferredStyle: .alert) alert.addAction(UIAlertAction(title: "取消", style: .cancel)) alert.addAction(UIAlertAction(title: "确定", style: .default, handler: confirm)) viewController.present(alert, animated: true) } //在根视图控制器上弹出确认框 static func showConfirm(message: String, confirm: ((UIAlertAction)->Void)?) { if let vc = UIApplication.shared.keyWindow?.rootViewController { showConfirm(message: message, in: vc, confirm: confirm) } } }
调用
//弹出普通消息提示框 UIAlertController.showAlert(message: "保存成功!") //弹出确认选择提示框 UIAlertController.showConfirm(message: "是否提交?") { (_) in print("点击了确认按钮!") }