ios - 从 UITableViewCell 上的按钮显示 UIAlertController

标签 ios swift uitableview uialertcontroller

这是我在 UITableViewCell 的按钮内编写的代码。

var shareAlert = UIAlertController(title: "Post Alert", 
    message: "Your Post has been Shared with your Friends", 
    preferredStyle: UIAlertControllerStyle.Alert)

var Ok = UIAlertAction(title: "Ok", 
    style: UIAlertActionStyle.Default, 
    handler: nil)

shareAlert.addAction(Ok)
shareAlert.presentViewController(shareAlert, animated: true, completion: nil)

当用户单击按钮时,我希望它显示此警报,但一旦单击按钮,应用程序就会崩溃。我做错了吗?如何通过 UITableViewCell 中的按钮显示警报 View ?

最佳答案

由于这条线而崩溃了

shareAlert.presentViewController(shareAlert, animated: true, completion: nil)

Controller 无法呈现自身,因此

替换

shareAlert.presentViewController(shareAlert, ...) 

yourCurrentViewController.presentViewController(shareAlert, ...)

你不应该使用 UIAlertView,因为它在 iOS 9 中已被弃用,并且可能在下一个 iOS 中被废弃,所以使用 UIAlertController 并且你不必在不久的将来更改它

关于ios - 从 UITableViewCell 上的按钮显示 UIAlertController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32671286/

相关文章:

ios - UITableView 和 UITableViewDataSource

objective-c - UITextFieldDelegate SecondView

javascript - 如果在 iOS 和 Android 上的 Web 应用程序中使用 FormData 发送,文件将转换为 [Object object] 字符串

ios - Phonegap - 手机锁定时播放本地音频 iOS 6

ios - 从 Xib 加载的 UICollectionViewController 中的 collectionView 为 nil

ios - 到达屏幕末尾时在 UITableView 自定义单元格中换行文本(Swift)

ios - 尝试了解 Swift 中使用协议(protocol)的委托(delegate)的实现

swift - 如何对加速度计进行编码以使其具有固定的 x 位置

ios - 将十六进制代码转换为日期 (BLE) - 算法

ios - 如何在 Swift 中继承 UITableViewController