2017-06-10 9 views
1

偽のつぶやきを '作成'できるアプリを作成しようとしていますが、ユーザーの選択した画像をUIImageView私はtwitterプロフィール画像のために設定しました。Xcode - UIImageViewでユーザーが選択した後にUIImageViewに画像が表示されない

class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate{  
    @IBOutlet weak var twitterName: UILabel!  
    @IBOutlet weak var twitterUsername: UILabel!  
    @IBOutlet weak var twitterProfilePic: UIImageView!  
    @IBOutlet weak var twitterTweet: UILabel!  
    @IBOutlet weak var inputTwitterName: UITextField!  
    @IBOutlet weak var inputTwitterUsername: UITextField!  
    @IBOutlet weak var inputTweet: UITextField!  
    @IBAction func chooseTwitterImage(_ sender: Any) {   

    let profilePic = UIImagePickerController() 
    profilePic.delegate = self   
    profilePic.sourceType = UIImagePickerControllerSourceType.photoLibrary   
    profilePic.allowsEditing = false   
    self.present(profilePic, animated: true) 
} 

@IBAction func makeTweetButton(_ sender: Any) {   
    twitterName.text = (inputTwitterName.text)!   
    twitterUsername.text = (inputTwitterUsername.text)!   
    twitterTweet.text = (inputTweet.text)!   

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
     if let profilePic = info[UIImagePickerControllerOriginalImage] as? UIImage 
     { 
      twitterProfilePic.image = profilePic     
     }     
     else 
     {     
      print("ERROR PICKING IMAGE")     
     } 
    }   
} 

UIImageView ...ヘルプには何の違いもありません。

+0

'didFinishPickingMediaWithInfo'は、' makeTweetButton'メソッドの中に入れ子になっています。 'ViewController'クラスのメソッドに移動しようとしますか? –

+0

はい、今動作しています!しかし私には別の問題があります。私はallowEditingをtrueに変更しました。写真を切り抜いた後に選択をクリックすると、アプリがフリーズします。何かご意見は? –

+0

それは別の質問でなければなりません。最初の問題に対する答えを受け入れることができれば幸いです。 –

答えて

1

didFinishPickingMediaWithInfoのネストされたメソッドをViewControllerのクラスに移動することで問題は解決します。

関連する問題