我遇到了一些麻煩,我的ActionSheet。在iPhone上它工作正常,但在iPad上它只是崩潰。iPad上的ActionSheet崩潰(相機按鈕)
我有一個按鈕來顯示相機,但我無法在iPad上正確執行此操作。
代碼:
class pictureViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UITextViewDelegate {
@IBOutlet weak var picture: UIImageView!
override func viewDidLoad() {
}
@IBAction func choosePictureAction(sender: AnyObject) {
let alertPictureFrom = UIAlertController(title: "De dónde sacar la foto?", message: "", preferredStyle: UIAlertControllerStyle.ActionSheet)
presentViewController(alertPictureFrom, animated: true, completion: nil)
alertPictureFrom.addAction(UIAlertAction(title: "Cámara", style: .Default, handler: {action in
let picker = UIImagePickerController()
picker.sourceType = .Camera
picker.delegate = self
picker.allowsEditing = true
self.presentViewController(picker, animated: true, completion: nil)
}))
alertPictureFrom.addAction(UIAlertAction(title: "Galería", style: .Default, handler: {action in
let picker = UIImagePickerController()
picker.sourceType = .PhotoLibrary
picker.delegate = self
picker.allowsEditing = true
self.presentViewController(picker, animated: true, completion: nil)
}))
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
picture.image = image
picker.dismissViewControllerAnimated(true, completion: nil)
}
}
您的申請已經提交風格UIAlertControllerStyleActionSheet的UIAlertController()。具有此樣式的UIAlertController的modalPresentationStyle是UIModalPresentationPopover。您必須通過警報控制器的popoverPresentationController爲此彈出窗口提供位置信息。您必須提供sourceView和sourceRect或barButtonItem。如果在呈現警報控制器時未知此信息,則可以在UIPopoverPresentationControllerDelegate方法-prepareForPopoverPresentation中提供此信息。
您必須提供此酥料餅的位置信息通過警報控制器的popoverPresentationController。 –