我正在尝试使用以下方法检索保存的图像
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)
同样的结果。
答案 0 :(得分:0)
对于将来遇到问题的其他人设置UIButton的背景图像。上述两个代码段都可用于检索图像。
问题是,在界面构建器中,我的按钮是:Type - System
。当我改变Type - Custom
时,一切正常。
答案 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");
}
});
}