保存用户选择的图像 iOS
Save which image a user selected iOS
我的应用程序中有一个配置文件选项卡。当我打开选项卡时,我看到的是正常图像。
可以 select 相机胶卷中的图像。
代码:
func selectImage()
{
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary){
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
imagePicker.allowsEditing = false
self.presentViewController(imagePicker, animated: true, completion: nil)
}
}
当用户 select 将图像设置为 imageView
func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!){
self.dismissViewControllerAnimated(true, completion: { () -> Void in
})
userImage.image = image
}
我如何保存这张图片以供用户下次打开应用程序时使用?
我只发现了一个使用 NSUserDefaults 的 SO 问题,但他们说不推荐这样做。
保存文件路径更好吗?如果是这样,我该如何处理?
为了将图像保存到文件路径,请使用以下代码
let fileDirectory = NSSearchPathForDirectoriesInDomains(
.DocumentDirectory, .UserDomainMask, true)
func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!){
self.dismissViewControllerAnimated(true, completion: { () -> Void in
})
userImage.image = image
var imageData = UIImageJPEGRepresentation(image, 1.0)
var imageFilePath = fileDirectory[0].stringByAppendingPathComponent("userPicture.jpeg")
var imageFileURL = NSURL(fileURLWithPath: imageFilePath)
imageData.writeToURL(imageFileURL!, atomically: false)
}
为了从您保存的本地文件设置图像,您必须首先检查该文件是否存在,然后将其内容加载到图像视图
override func viewDidLoad() {
var imagePath = fileDirectory[0].stringByAppendingPathComponent("userPicture.jpeg")
var fileManager = NSFileManager.defaultManager()
if (fileManager.fileExistsAtPath(imagePath)){
userImage.image = UIImage(contentsOfFile : imagePath)
}
}
我的应用程序中有一个配置文件选项卡。当我打开选项卡时,我看到的是正常图像。 可以 select 相机胶卷中的图像。 代码:
func selectImage()
{
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary){
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
imagePicker.allowsEditing = false
self.presentViewController(imagePicker, animated: true, completion: nil)
}
}
当用户 select 将图像设置为 imageView
func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!){
self.dismissViewControllerAnimated(true, completion: { () -> Void in
})
userImage.image = image
}
我如何保存这张图片以供用户下次打开应用程序时使用? 我只发现了一个使用 NSUserDefaults 的 SO 问题,但他们说不推荐这样做。
保存文件路径更好吗?如果是这样,我该如何处理?
为了将图像保存到文件路径,请使用以下代码
let fileDirectory = NSSearchPathForDirectoriesInDomains(
.DocumentDirectory, .UserDomainMask, true)
func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!){
self.dismissViewControllerAnimated(true, completion: { () -> Void in
})
userImage.image = image
var imageData = UIImageJPEGRepresentation(image, 1.0)
var imageFilePath = fileDirectory[0].stringByAppendingPathComponent("userPicture.jpeg")
var imageFileURL = NSURL(fileURLWithPath: imageFilePath)
imageData.writeToURL(imageFileURL!, atomically: false)
}
为了从您保存的本地文件设置图像,您必须首先检查该文件是否存在,然后将其内容加载到图像视图
override func viewDidLoad() {
var imagePath = fileDirectory[0].stringByAppendingPathComponent("userPicture.jpeg")
var fileManager = NSFileManager.defaultManager()
if (fileManager.fileExistsAtPath(imagePath)){
userImage.image = UIImage(contentsOfFile : imagePath)
}
}