UIActionSheet
let actionSheet = UIActionSheet()
actionSheet.title = "请选择操作"actionSheet.addButton(withTitle: "取消")
actionSheet.addButton(withTitle: "动作1")
actionSheet.addButton(withTitle: "动作2")
actionSheet.cancelButtonIndex = 0
actionSheet.delegate = self
actionSheet.show(in: self.view)
//一般情况下
actionSheet.show(in: self.view)
//工具条情况下
actionSheet.show(from: (self.navigationController?.toolbar)!)
//标签条的情况下
actionSheet.show(from: self.tabBar)
//代理方法
func actionSheet(_ actionSheet: UIActionSheet, clickedButtonAt buttonIndex: Int) {
print(actionSheet.buttonTitle(at: buttonIndex)!)
}
func willPresent(_ actionSheet: UIActionSheet) {
//操作表显示前被调用
}
func didPresent(_ actionSheet: UIActionSheet) {
//操作表显示后被调用
}
func actionSheetCancel(_ actionSheet: UIActionSheet) {
//操作表被强制关闭调用,例如操作表显示时应用程序突然关闭等场合,触摸取消按钮时不会调用才方法
}
func actionSheet(_ actionSheet: UIActionSheet, willDismissWithButtonIndex buttonIndex: Int) {
//操作表关闭前被调用
}
func actionSheet(_ actionSheet: UIActionSheet, didDismissWithButtonIndex buttonIndex: Int) {
//操作表关闭后被调用,操作表显示中应用程序进入睡眠状态时也会被调用
}
UIAlertController
let alertController = UIAlertController(title: "保存或删除数据", message: "删除数据将不可恢复", preferredStyle: UIAlertControllerStyle.actionSheet)
let cancelAction = UIAlertAction(title: "取消", style: UIAlertActionStyle.cancel, handler: nil)
let deleteAction = UIAlertAction(title: "删除", style: UIAlertActionStyle.destructive, handler: nil)
let archiveAction = UIAlertAction(title: "保存", style: UIAlertActionStyle.default, handler: nil) 或
let archiveAction = UIAlertAction.init(title: "保存", style: .default) { (UIAlertAction) in
//点击事件的操作方法
}
alertController.addAction(cancelAction)
alertController.addAction(deleteAction)
alertController.addAction(archiveAction)
self.present(alertController, animated: true, completion: nil)