如何点击UITableView的单元格,然后它会显示一个警告,我可以在其中选择" Ok"或"取消"。
如果" Ok"点击,应用程序显示一个安装程序控制器(我已经有)。
如果"取消"被点击,警报消失,没有任何反应。
答案 0 :(得分:1)
<强> 1。设置表格视图委托
如果您使用UITableViewController
,UITableViewDelegate
已设置为表视图控制器类,则自行设置(tableView.delegate = self
)。
<强> 2。点击单元格时将调用的函数
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
第3。使用演示控制器显示警报视图
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let alertController = UIAlertController(title: "Something", message: "bla bla", preferredStyle: .Alert)
let okAction = UIAlertAction(title: "Ok", style: .Default) { action in
//Do something when cancel is tapped
let setupController = UIViewController() //Replace with your own set up view controller
self.presentViewController(setupController, animated: true) {
//Do something when alert view is presented
}
}
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel) { action in
//Do something when cancel is tapped
}
alertController.addAction(okAction)
alertController.addAction(cancelAction)
//Show alert view
presentViewController(alertController, animated: true) {
//Do something when alert view is presented
}
}
答案 1 :(得分:0)
您需要覆盖方法tableView:didSelectRowAtIndexPath:
,如下所示
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
let ac = UIAlertController(title: "Title", message: "Your message here", preferredStyle: .Alert)
let okAction = UIAlertAction(title: "Ok", style: .Default) { (_) in
presentViewController(yourSetupController, animated: true, completion: nil)
}
ac.addAction(okAction)
let cancelAction = UIAlertAction(title: "Cancel", style: .Default, handler: nil)
ac.addAction(cancelAction)
presentViewController(ac, animated: true, completion: nil)
}