Ich verwende ActionSheet in meiner Anwendung. Auf meinem iPhone funktioniert es, auf dem iPad-Simulator jedoch nicht.
Das ist mein Code:
@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)
}
Und mein Fehler:
Beenden der App aufgrund der nicht erfassten Ausnahme 'NSGenericException', Grund: 'Ihre Anwendung hat einen UIAlertController () im Stil UIAlertControllerStyleActionSheet präsentiert. Der modalPresentationStyle eines UIAlertControllers mit diesem Stil ist UIModalPresentationPopover. Sie müssen Standortinformationen für dieses Popover über den popoverPresentationController des Alert-Controllers bereitstellen. Sie müssen entweder ein sourceView und sourceRect oder ein barButtonItem angeben. Wenn diese Informationen bei der Präsentation des Alert-Controllers nicht bekannt sind, können Sie sie in der UIPopoverPresentationControllerDelegate-Methode -prepareForPopoverPresentation bereitstellen. '