Używam ActionSheet w mojej aplikacji. Na moim iPhonie działa, ale nie na symulatorze iPada.
to jest mój kod:
@IBAction func dialog(sender: AnyObject) {
let optionMenu = UIAlertController(title: nil, message: "Choose Option", preferredStyle: .ActionSheet)
let deleteAction = UIAlertAction(title: "Delete", style: .Default, handler: {
(alert: UIAlertAction!) -> Void in
println("Filtre Deleted")
})
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: {
(alert: UIAlertAction!) -> Void in
println("Cancelled")
})
optionMenu.addAction(deleteAction)
optionMenu.addAction(cancelAction)
self.presentViewController(optionMenu, animated: true, completion: nil)
}
I mój błąd:
Zakończenie aplikacji z powodu nieprzechwyconego wyjątku „NSGenericException”, powód: „Twoja aplikacja przedstawiła UIAlertController () w stylu UIAlertControllerStyleActionSheet. ModalPresentationStyle elementu UIAlertController z tym stylem to UIModalPresentationPopover. Musisz podać informacje o lokalizacji dla tego okna popover za pomocą popoverPresentationController kontrolera alertów. Musisz podać sourceView i sourceRect lub barButtonItem. Jeśli te informacje nie są znane podczas prezentowania kontrolera alertów, można je podać w metodzie UIPopoverPresentationControllerDelegate -prepareForPopoverPresentation. '