Swift - UIAlertController基本用法
2018-03-23 09:21
435 查看
func testAlert(){ let alertController = UIAlertController(title: "提示", message: "确定要离开该页面吗?", preferredStyle: .alert) let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil); let okAction = UIAlertAction(title: "确定", style: .default) { (action) in print("点击了确定") } alertController.addAction(cancelAction) alertController.addAction(okAction) self.present(alertController, animated: true, completion: nil) }
func testSheet(){ let alertController = UIAlertController(title: "保存或删除数据", message: "删除数据后无法恢复", preferredStyle: .actionSheet) let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil) let saveAction = UIAlertAction(title: "保存", style: .default, handler: nil) let deleteAction = UIAlertAction(title: "删除", style: .destructive, handler: nil) alertController.addAction(cancelAction) alertController.addAction(saveAction) alertController.addAction(deleteAction) self.present(alertController, animated: true, completion: nil) }
func testTextFieldAlert(){ let alertController = UIAlertController(title: "新建文件夹", message: "请输入文件夹名称", preferredStyle: .alert) alertController.addTextField { (textField) in textField.placeholder = "新建文件夹名称" } let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil) let okAction = UIAlertAction(title: "好的", style: .default, handler: nil) alertController.addAction(cancelAction) alertController.addAction(okAction) self.present(alertController, animated: true, completion: nil) }
func testMessage(){ 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: true, completion: nil) } }
附:扩展 UIAlertController
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, handler: nil)) viewController.present(alert, animated: true, completion: nil) } // 在根视图控制器上弹出普通消息提示框 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:@escaping (UIAlertAction) -> Void){ let alert = UIAlertController(title: nil, message: message, preferredStyle: .alert) alert.addAction(UIAlertAction(title: "取消", style: .cancel, handler: nil)) alert.addAction(UIAlertAction(title: "确定", style: .default, handler: confirm)) viewController.present(alert, animated: true, completion: nil) } // 在根视图控制器上弹出确认框 static func showConfirm(message:String, confirm:@escaping (UIAlertAction) -> Void){ if let vc = UIApplication.shared.keyWindow?.rootViewController { showConfirm(message: message, in: vc, confirm: confirm) } } }
调用方法
UIAlertController.showConfirm(message: “保存数据”, in: self) { (action) in
print(“点击了确认”)
}
参考链接
相关文章推荐
- swift 协议Protocol的基本用法
- Swift - 第三方日历组件CVCalendar使用详解1(配置、基本用法)
- swift基本用法-for循环遍历,遍历字典,循环生成数组
- SWIFT UITableView的基本用法
- Swift 基本知识点之十 —willSet与didSet的用法
- 4.1 Swift中if语句的基本用法
- Swift3 GCD的基本用法(一) - 任务和队列、服务优先级、信号量
- Swift学习之UILabel基本用法
- swift 字符串String的基本用法
- swift基本用法
- Swift 变量名、print的基本用法
- swift详解之二十二-----------UINavigationController的基本用法和页面传值几种方式
- Swift开发笔记之UIButton基本用法
- Swift3 GCD的基本用法(二) - 队列的循环/挂起/恢复、其他常用方法
- Swift 字典 Dictionary基本用法
- Swift 学习之集合的基本用法
- SWIFT Button的基本用法
- Swift UITabBarController 基本用法
- swift-元组的基本用法
- Swift开发笔记3.Swift中setter和getter的基本用法