質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

953閲覧

カメラの「写真を使用する」でimageViewに表示されないのは、デリゲードメソッドが間違っているからですか?

R3.S

総合スコア44

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/07/07 13:19

編集2019/07/08 14:39

下記は、現在作成中のアプリです。

swift

1import UIKit 2import Photos 3 4class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { 5 6 7 @IBOutlet var back1: UIImageView! 8 9 @IBOutlet var back2: UIImageView! 10 11 override func viewDidLoad() { 12 super.viewDidLoad() 13 14 15 PHPhotoLibrary.requestAuthorization { (status) in 16 17 switch(status){ 18 case .authorized: break 19 case .denied: break 20 case .notDetermined: break 21 case .restricted: break 22 23 } 24 } 25 26 27 } 28 29 func imagePickerController(_ picker: UIImagePickerController, 30 didFinishPickingMediaWithInfo info: 31 [UIImagePickerController.InfoKey : Any]) { 32 33 if let pickedImage = info[.originalImage] as? UIImage{ 34 35 if(picker == self.firstPicker) { 36 back1.image = pickedImage 37 } else if(picker == self.secondPicker){ 38 back2.image = pickedImage 39 }else{ 40 } 41 picker.dismiss(animated: true, completion: nil) 42 } 43 44 func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { 45 46 picker.dismiss(animated: true, completion: nil) 47 } 48 } 49 50 //カメラ1を呼び出す 51 @IBAction func camera1(_ sender: Any) { 52 let 53 sourceType:UIImagePickerController.SourceType = UIImagePickerController.SourceType.camera 54 if 55 UIImagePickerController.isSourceTypeAvailable(UIImagePickerController.SourceType.camera){ 56 let 57 cameraPicker = UIImagePickerController() 58 cameraPicker.sourceType = sourceType 59 cameraPicker.delegate = self 60 self.present(cameraPicker, animated: true, completion: nil) 61 } 62 } 63 64 //カメラ2を呼び出す 65 @IBAction func camera2(_ sender: Any) { 66 let 67 sourceType:UIImagePickerController.SourceType = UIImagePickerController.SourceType.photoLibrary 68 if 69 UIImagePickerController.isSourceTypeAvailable(UIImagePickerController.SourceType.camera){ 70 let 71 cameraPicker = UIImagePickerController() 72 cameraPicker.sourceType = sourceType 73 cameraPicker.delegate = self 74 self.present(cameraPicker, animated: true, completion: nil) 75 } 76 } 77 78 let firstPicker = UIImagePickerController() 79 let secondPicker = UIImagePickerController() 80 81 //アルバム1を呼び出す 82 @IBAction func album1(_ sender: Any) { 83 let 84 sourceType:UIImagePickerController.SourceType = UIImagePickerController.SourceType.photoLibrary 85 if 86 UIImagePickerController.isSourceTypeAvailable(UIImagePickerController.SourceType.photoLibrary){ 87 self.firstPicker.sourceType = sourceType 88 self.firstPicker.delegate = self 89 self.present(self.firstPicker, animated: true, completion: nil) 90 } 91 } 92 93 //アルバム2を呼び出す 94 @IBAction func album2(_ sender: Any) { 95 let 96 sourceType:UIImagePickerController.SourceType = UIImagePickerController.SourceType.photoLibrary 97 if 98 UIImagePickerController.isSourceTypeAvailable(UIImagePickerController.SourceType.photoLibrary){ 99 self.secondPicker.sourceType = sourceType 100 self.secondPicker.delegate = self 101 self.present(self.secondPicker, animated: true, completion: nil) 102 } 103 } 104 105 106 107} 108 109

過去の投稿で似たような質問があったので参考にしました。
過去の投稿

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any])

こちらに書き換えたのですが赤い警告文が出てできませんでした。

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any])

無知で申し訳ないのですが、撮った写真をimageViewに表示するためのヒントやキーワードがあれば教えていただければと思います。調べて勉強していきたいと思っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2019/07/07 16:25

過去の質問もそうですが、丸投げ質問が多すぎると思います。 ここはデバッグ依頼サイトではありません。 自分がどこまで調べたのか、どの処理がどういう意図なのか等、具体的に書きましょう。 そのためにテンプレートもあるわけなので。 とりあえず↓読んで質問文をもうちょっと考えてみてください。 https://teratail.com/help/question-tips https://teratail.com/help/avoid-asking
fuzzball

2019/07/08 23:46

質問を大きく分けると、 ・画像の取得 ・画像の表示 の2つになると思います。 まず画像を取得できているかどうか調べて下さい。
guest

回答1

0

自己解決

下記追加で解決

self.secondPicker.sourceType = sourceType

self.secondPicker.delegate = self self.present(self.secondPicker, animated: true, completion: nil)
@IBAction func camera2(_ sender: Any) { let sourceType:UIImagePickerController.SourceType = UIImagePickerController.SourceType.camera if UIImagePickerController.isSourceTypeAvailable(UIImagePickerController.SourceType.camera){ let cameraPicker = UIImagePickerController() cameraPicker.sourceType = sourceType cameraPicker.delegate = self **self.secondPicker.sourceType = sourceType self.secondPicker.delegate = self self.present(self.secondPicker, animated: true, completion: nil)** } }

投稿2019/07/21 07:23

R3.S

総合スコア44

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問