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)