1.封装 弹框
http://www.hangge.com/blog/cache/detail_651.html
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) } } }
2.改变 标题颜色,按钮颜色,等等
https://blog.csdn.net/mo_xiao_mo/article/details/70308099
let alert = UIAlertController(title: nil, message: "确定要退出登录吗?", preferredStyle: .actionSheet) /// 确认 let sureAction = UIAlertAction(title: "确认", style: UIAlertAction.Style.default) { [weak self](_) in self?.requestLoginOut() } sureAction.setValue(UIColor.init(hexString: "#FF9E3E"), forKey: "_titleTextColor") alert.addAction(sureAction) //取消操作 let cancleAction = UIAlertAction(title: "取 消", style: .cancel, handler: nil) cancleAction.setValue(UIColor.init(hexString: "#424242"), forKey: "_titleTextColor") alert.addAction(cancleAction) self.present(alert, animated: true, completion: nil)