ฉันใช้ ActionSheet ในแอปพลิเคชันของฉัน บน iPhone ของฉันใช้งานได้ แต่ใช้ไม่ได้บนเครื่องจำลอง iPad
นี่คือรหัสของฉัน:
@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)
}
และข้อผิดพลาดของฉัน:
การยุติแอปเนื่องจากข้อยกเว้น 'NSGenericException' ที่ไม่ถูกจับสาเหตุ: 'แอปพลิเคชันของคุณได้นำเสนอ UIAlertController () ของรูปแบบ UIAlertControllerStyleActionSheet modalPresentationStyle ของ UIAlertController ที่มีลักษณะนี้คือ UIModalPresentationPopover คุณต้องให้ข้อมูลตำแหน่งสำหรับป๊อปโอเวอร์นี้ผ่าน popoverPresentationController ของตัวควบคุมการแจ้งเตือน คุณต้องระบุ sourceView และ sourceRect หรือ barButtonItem หากไม่ทราบข้อมูลนี้เมื่อคุณนำเสนอตัวควบคุมการแจ้งเตือนคุณสามารถระบุข้อมูลนี้ในเมธอด UIPopoverPresentationControllerDelegate -prepareForPopoverPresentation '