使用swift检索已保存的图像

时间:2015-03-24 12:51:56

标签: ios swift uiimageview uibutton uiimagepngrepresentation

我正在尝试使用以下方法检索保存的图像

let pngData = UIImagePNGRepresentation(image)

let finalPath = filePath() // This method just create the path to save to.

saveImage(pngData, filePath: finalPath)

后来我想检索这些数据并设置UIButton的UIImageView。但是,当我使用以下代码时,它只显示一个完全蓝色的图像。

以下是代码:

let filePath = tempCard?.frontPhoto

let imgData = UIImage(contentsOfFile: filePath!)frontPhotoButton.setImage(imgData, forState: .Normal)

frontPhotoButton.setImage(imgData, forState: .Normal)

我不确定为什么这只是一个蓝色按钮。

修改

我也尝试过:

 let filePath = tempCard?.frontPhoto

 let imageData = NSData(contentsOfFile: filePath!

 let image = UIImage(data: imageData!)

 frontPhotoButton.setImage(image, forState: .Normal)

同样的结果。

2 个答案:

答案 0 :(得分:0)

对于将来遇到问题的其他人设置UIButton的背景图像。上述两个代码段都可用于检索图像。

问题是,在界面构建器中,我的按钮是:Type - System。当我改变Type - Custom时,一切正常。

enter image description here

答案 1 :(得分:0)

使用此方法从应用程序的文档目录中检索图像

func loadImageFromPath() {

    dispatch_async(dispatch_get_main_queue(), {
        let fileManager = NSFileManager.defaultManager()

        var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
        var getImagePath = paths.stringByAppendingPathComponent("Image2.png")



        if (fileManager.fileExistsAtPath(getImagePath))
        {
            println("FILE AVAILABLE AT \(paths)");

            //Pick Image and Use accordingly
            var imageis: UIImage = UIImage(contentsOfFile: getImagePath)!

            let data: NSData = UIImagePNGRepresentation(imageis)

            self.imgProfileView.image = UIImage(data: data)
             self.imgProfileView.contentMode = UIViewContentMode.ScaleAspectFit

        }
        else
        {
            println("FILE NOT AVAILABLE");

        }

    });


}