を却下した後に動作していない私は、彼らが写真を撮ったり、自分のライブラリから画像を選択するかどうかをユーザーに尋ねるアラートをトリガーバーボタンアイテムを持っています。写真ライブラリを選択すると、UIImagePickerControllerをインスタンス化して写真を選択します。バーボタン項目はUIImagePickerController
私の問題は、画像を選択してView Controllerを終了すると、元のView Controllerに戻り、画像がコンセントに正しく表示されますが、以前に機能していたボタンは警告をトリガして画像を選択しませんもう一度(コンソールに何も印刷されません)。
@IBAction func pickAnImage(sender: AnyObject) {
selectImageSourceAlert()
}
func selectImageSourceAlert() {
let alert = UIAlertController(title: nil, message: nil, preferredStyle: .ActionSheet)
let userLibrary = UIAlertAction(title: "Photo Library", style: .Default) {
_ in
self.presentImagePicker(pickerStyle: .PhotoLibrary)
}
let useCamera = UIAlertAction(title: "Camera", style: .Default) {
_ in
let x = UIImagePickerController.isSourceTypeAvailable(.Camera)
print(x)
if x {
self.presentImagePicker(pickerStyle: .Camera)
} else {
print("No camera available")
}
}
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)
alert.addAction(userLibrary)
alert.addAction(useCamera)
alert.addAction(cancelAction)
presentViewController(alert, animated: true, completion: nil)
}
func presentImagePicker(pickerStyle style: UIImagePickerControllerSourceType) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = style
imagePicker.allowsEditing = true
self.presentViewController(imagePicker, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
self.dismissViewControllerAnimated(true, completion: nil)
if let image = info["UIImagePickerControllerEditedImage"] as? UIImage {
imagePickerView.image = image
}
}
私はまだそれを理解することができません。私は、 "if let image = info"ビットを削除し、imagePickerViewアウトレットにイメージを割り当てるのをやめると、ボタンがView Controllerを終了した後に動作することを発見しました。画像を選択する前にキャンセルしてもボタンは機能します。イメージをコンセントに割り当てても機能しません。
ありがとうございました!
編集:私は右上隅にある第二のボタンを追加し、同じアクションに割り当てられたときに、私は気づいた、それも写真を割り当てた後に動作します。左下隅の最初のBar Button Itemは、imageViewに割り当てられている画像がないときにのみ機能します。なぜimageViewで覆われていないのかわかりません。明快にするために背景色を追加しました。
私たちのイメージピッカーをトリガーボタンのコードをご提示ください。 –
オリジナルの投稿に追加コードを追加しました。もう少し長いですが、うまくいけば助けてください。 –
私は新しいプロジェクトであなたのコードを試してみましたが、私の場合は問題なく動作します。 イメージピッカーを解除して、選択したイメージで何をやっていますか? – RomanN