デリゲートパターンの詳細を調べようとしています。ユーザーのカメラロールにアクセスするアプリケーションを作成し、ユーザーが画像を選択した後で、その画像をビューコントローラーに表示したいとします。SwiftのUIIamgePickerControllerDelegateを使用して、選択した画像を画面に表示
import UIKit
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var imagePickerView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
// Delegate Methods
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
imagePickerView.image = image
}
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
self.dismiss(animated: true, completion: nil)
}
@IBAction func pickAnImage(_ sender: Any) {
let pickerController = UIImagePickerController()
present(pickerController, animated: true, completion: nil)
}
}
カメラロールには、予想通り表示され、キャンセルボタンは、モーダルを却下:ここでは私がこれまで持っているものです。画像を選択するとモーダルは消えますが、画像は画面に表示されません。 imagePickerController
がコンセントとして参照されていることを確認しました。私は何が欠けていますか?あなたはpickerController
// pickerController.delegateのデリゲートとしてビューコントローラを設定する必要が
あなたは現在の – Retterdesdialogs