👌
UIImagePickerControllerDelegateのdidFinishPickingMediaWithInfoが呼び出されない
Xcode13で確認
// MARK: ボタン押下時の処理
@objc func didTapPasteClipButton() {
guard let model = myModel else { return }
let createViewView = self.view as! CreateViewView
createViewView.deckCodeLabel.text = UIPasteboard.general.string
}
extension CreateViewViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let chosenImage = info[UIImagePickerController.InfoKey.originalImage] as! UIImage
dismiss(animated:true, completion: nil)
}
}
このように記載して、Delegateメソッドが動作しなかったので調査しました。
最新の書き方が変わっていた為、動作しませんでした。
修正後
extension CreateViewViewController: UIImagePickerControllerDelegate & UINavigationControllerDelegate{
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let chosenImage = info[UIImagePickerController.InfoKey.originalImage] as! UIImage
dismiss(animated:true, completion: nil)
}
}
なんやねん、LOVE & PEACE みたいな書き方…
これ同様の件ありそうですね、他でも
とりあえずこれで呼び出されるようになりました。
Discussion