Xcode - 用户选择后图像未出现在 UIImageView 中

Posted

技术标签:

【中文标题】Xcode - 用户选择后图像未出现在 UIImageView 中【英文标题】:Xcode - image not appearing in UIImageView after it has been picked by the user 【发布时间】: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 方法以保存结果。 【参考方案1】:

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

【讨论】:

以上是关于Xcode - 用户选择后图像未出现在 UIImageView 中的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 项目文件未出现在项目导航器中

Xcode 按钮图像未显示

AutoLayout - 使用水平约束保持图像的比例(Swift Xcode 6)

XCode 不允许我设置应用程序图标/启动图像

界面构建器未显示要为 UIImageView 选择的图像

图像未绑定到UIImageView