Показать UIAlertController с помощью кнопки на UITableViewCell
Это то, что я закодировал внутри кнопки в 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
?
- как остановить UITextView для прокрутки UITableView
- UIActivityIndicatorView в UITableViewController
- хранить выбранные ячейки textLabel текст в массиве
- Поиск по типу UISearchBar в UITableView с несколькими разделами?
- Измените существующие повторно используемые ячейки с помощью метода cellForRowAtIndexPath:
- NSFetchedResultsController не всегда вызывает didChangeObject: atIndexPath: forChangeType: newIndexPath: для NSFetchedResultsChangeMove
- Как оживить Tableviewcells в режиме ScrollWheel ?, Swift
- Возможное состояние гонки? Приложение Swift 2 iOS случайно не вызывает func tableView (tableView
- UITableView, получающий indexPath в textFieldDidBeginEditing:
- UISwitch внутри UITableViewCell
- Фоновые изображения для ячеек при переупорядочивании пользовательского сгруппированного UITableView
- Правила для ввода содержимого UITableView в iOS 7?
- tableView.reloadRows мерцает, если вызывается слишком быстро после обновления другой таблицы
Он разбился из-за этой линии
shareAlert.presentViewController(shareAlert, animated: true, completion: nil)
Контроллер не может себя представить, поэтому
замещать
shareAlert.presentViewController(shareAlert, ...)
от
yourCurrentViewController.presentViewController(shareAlert, ...)
И вы не должны использовать UIAlertView, потому что он устарел в iOS 9 и, возможно, устарел в следующем iOS, поэтому используйте UIAlertController, и вам не придется его менять в ближайшем будущем
Проверьте это: https://stackoverflow.com/a/32574681/5304286
Вы можете вызвать функцию alertShow в этом файле, чтобы показать простое сообщение:
Utility.UI.alertShow("message", withTitle: "title", viewController: self)
Вместо использования UIAlertController
вы можете использовать UIAlertView
, например:
var alert = UIAlertView(title: "Post Alert", message: "Your Post has been Shared with your Friends", delegate: nil, cancelButtonTitle: "Ok") alert.show()
Документация: https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIAlertView_Class/index.html
Заметка:
UIAlertView
устарел в iOS 9.