【问题标题】:Xcode - image not appearing in UIImageView after it has been picked by the userXcode - 用户选择后图像未出现在 UIImageView 中
【发布时间】:2017-06-10 17:02:28
【问题描述】:

我正在尝试制作一个可以“撰写”假推文的应用程序,但我的代码似乎没有将用户选择的图像添加到我为推特个人资料图片设置的 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 没有任何影响...帮助。

【问题讨论】:

  • didFinishPickingMediaWithInfo 嵌套在 makeTweetButton 方法中。您可以尝试将其移动为ViewController 类的方法吗?
  • 是的,它现在正在工作!但我还有另一个问题。我已将allowEditing更改为true,当我在裁剪照片后单击选择时,它会冻结应用程序。有什么想法吗?
  • 应该是另一个问题。如果您能接受最初问题的答案,将不胜感激。
  • 好的,谢谢!
  • 启用allowsEditing 时,您可能需要实现UIImageWriteToSavedPhotosAlbum 方法以保存结果。

标签: ios swift uiimageview


【解决方案1】:

didFinishPickingMediaWithInfo 嵌套方法移动为ViewController 的一个类可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-27
    • 1970-01-01
    • 2015-02-15
    • 2012-11-21
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    相关资源
    最近更新 更多