如何保存照片库中的选定图像以在swift中显示任何视图控制器
我正在开发我的应用程序,有一次我被卡住了。 有一个UIIMAGEVIEW和一个上载按钮。 所以,当用户点击上传按钮,他进入照片库选择图像后,我在UIIMAGEVIEW上显示该图像。 所以我的问题是:-如何保存照片库中的选定图像以在swift中显示任何视图控制器,swift,xcode,uibutton,uiimageview,Swift,Xcode,Uibutton,Uiimageview,我正在开发我的应用程序,有一次我被卡住了。 有一个UIIMAGEVIEW和一个上载按钮。 所以,当用户点击上传按钮,他进入照片库选择图像后,我在UIIMAGEVIEW上显示该图像。 所以我的问题是:- 在UIIMAGEVIEW上显示图像后,我想将该图像保存在应用程序上,以便在不同的视图控制器上显示相同的图像。您可以将该图像放入全局变量中。全局变量可在所有应用程序中使用: var imageSelected:UIImage? // Value will be nil if no image has
在UIIMAGEVIEW上显示图像后,我想将该图像保存在应用程序上,以便在不同的视图控制器上显示相同的图像。您可以将该图像放入全局变量中。全局变量可在所有应用程序中使用:
var imageSelected:UIImage? // Value will be nil if no image has been set
class ViewController1 {
// Puts your image inside a global variable
image = yourImage
}
class ViewController2 {
// Uses the image that was defined inside the global variable
@IBOutlet weak var imageView: UIView!
imageView.image = imageSelected
}
在这种情况下,您可以尝试以下代码段:
func saveImgToDocumentDirectory(image: UIImage ) {
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let fileName = "image.png" // image name for identify particular image
let fileURL = documentsDirectory.appendingPathComponent(fileName)
if let data = UIImageJPEGRepresentation(image, 1.0),!FileManager.default.fileExists(atPath: fileURL.path){
do {
try data.write(to: fileURL)
print("file saved")
} catch {
print("error saving file:", error)
}
}
}
func loadImgFromDocumentDirectory(nameOfImage : String) -> UIImage {
let nsDocumentDirectory = FileManager.SearchPathDirectory.documentDirectory
let nsUserDomainMask = FileManager.SearchPathDomainMask.userDomainMask
let paths = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true)
if let dirPath = paths.first{
let imageURL = URL(fileURLWithPath: dirPath).appendingPathComponent(nameOfImage)
let image = UIImage(contentsOfFile: imageURL.path)
return image!
}
return UIImage.init(named: "default.png")!
}
图像名称是图像的唯一标识符,在存储图像时,需要指定图像名称“imageName”,以便使用相同的名称轻松获取特定图像