У меня возникли некоторые проблемы с моей ActionSheet. На iPhone он отлично работает, но на iPad он просто падает.ActionSheet аварии на IPad (кнопка камеры)
У меня есть кнопка для отображения камеры, но я не в состоянии правильно сделать это на 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)
}
}
Ваша заявка представлена UIAlertController() стиля UIAlertControllerStyleActionSheet. ModalPresentationStyle UIAlertController с этим стилем - UIModalPresentationPopover. Вы должны предоставить информацию о местоположении для этого popover через popoverPresentationController контроллера контролера. Вы должны указать либо sourceView, и sourceRect, либо barButtonItem. Если эта информация неизвестна при представлении контроллера предупреждений, вы можете указать ее в методе UIPopoverPresentationControllerDelegate -prepareForPopoverPresentation.
Вы должны предоставить информацию о местоположении этого пирог через popoverPresentationController диспетчера предупреждений. –