@IBAction func btnClicked(){
let alertController = UIAlertController(title: "Choose an option", message: "", preferredStyle: .Alert)
let cameraRollAction = UIAlertAction(title: "Camera Roll", style: .Default) { (action) in
self.imagePicker.delegate = self
self.imagePicker.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum;
self.imagePicker.allowsEditing = true
self.presentViewController(self.imagePicker, animated: true, completion: nil)
}
alertController.addAction(cameraRollAction)
let takePictureAction = UIAlertAction(title: "Take a picture", style: .Default) { (action) in
self.imagePicker.delegate = self
self.imagePicker.allowsEditing = true
self.imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
self.imagePicker.cameraCaptureMode = .Photo
self.imagePicker.modalPresentationStyle = .FullScreen
self.presentViewController(self.imagePicker,
animated: true,
completion: nil)
}
alertController.addAction(takePictureAction)
}
如何将图像存储到我从设备中选择的应用程序?每当我选择它出现的图像时,但当我关闭并重新打开应用程序时,图像会消失。
答案 0 :(得分:1)
另一种方法是您可以将图像保存在应用程序的文档目录中。并且这些图像的所有路径都可以存储在NSUserDefaults中。
选中此链接以将图像保存到文档目录:
相应地添加NSUserDefaults逻辑。
感谢。
答案 1 :(得分:0)
这里是一个如何存储图像的例子
let image:UIImage = UIImage.init(contentsOfFile: "someImagePath")!//here it will be the image that you get from the pickerController
let data:NSData = UIImagePNGRepresentation(image)!
data .writeToFile("file_Path", atomically: true)
修改强>
你已经实现了UIImagePickerViewContoller
这个协议- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info;
在信息词典中,您将找到图像。 所以你可以将上面的代码示例放在协议实现中。
答案 2 :(得分:0)
如果您需要存储大量不同的图像,那么您应该查看数据库选项 - 这里是CoreData http://www.raywenderlich.com/115695/getting-started-with-core-data-tutorial的一个很好的教程,但如果您只需要为每个应用程序存储一个图像,那么你可以将其作为存储用户默认值的一部分,并且有一个很好的教程可用于http://www.raywenderlich.com/1914/nscoding-tutorial-for-ios-how-to-save-your-app-data