2016-03-07 34 views
0

我正在尝试开发一种iOS应用程序,该应用程序使用iPhone相机捕获图像并将该图像保存到相机胶卷(或者稍后我可以访问它的某处)。我正在寻找不同的方式来做到这一点,但我陷入了困境。我希望有人能指导我如何做到这一点的正确方向。这里是我目前的代码:iOS将捕获的图像保存到内存并访问它们

import Foundation 
import UIKit 

class Camera: UIViewController, UIImagePickerControllerDelegate,UINavigationControllerDelegate { 



@IBOutlet weak var Camera: UIButton! 
@IBOutlet weak var PhotoLibrary: UIButton! 
@IBOutlet weak var ImageDisplay: UIImageView! 
override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

@IBAction func PhotoLibraryAction(sender: UIButton) { 
    let picker = UIImagePickerController() 
    picker.delegate = self 
    picker.sourceType = .PhotoLibrary 
    presentViewController(picker, animated: true, completion:nil) 

} 

@IBAction func CameraAction(sender: UIButton) { 
    let picker = UIImagePickerController() 
    picker.delegate = self 
    picker.sourceType = .Camera 
    presentViewController(picker, animated: true, completion:nil) 
    } 



func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
    ImageDisplay.image = info[UIImagePickerControllerOriginalImage] as? UIImage; 
    dismissViewControllerAnimated(true, completion: nil) 

} 

基本上我现在有一个系统,允许用户按下一个按钮,然后启动相机。一旦启动相机,用户可以像平常一样使用相机拍摄照片。一旦拍摄照片,它将使用户回到原始屏幕。我面临的问题是,在用户达到该点后我相当确定,用户刚拍摄的照片仍然没有存储到设备中,这意味着我将来无法再访问它。此外,我希望有人可以向我解释一旦将照片保存到相机胶卷后访问照片的最佳方式。我知道有通过图片名称访问它的方法,但我怎么知道这张照片会被称为什么?

任何帮助,这是非常感谢。谢谢!

+0

你可以把一个破发点之前,这里''imagePickerController或打印为了检查信息词典? –

回答

0

你不做任何保存在你的代码,您需要将图像保存到相册,加入这一行“dismissViewControllerAnimated”

UIImageWriteToSavedPhotosAlbum(ImageDisplay.image,nil,nil,nil) 
+0

你真了不起。非常感谢!我还有另一个问题,在你看来,什么是访问新照片的最佳方式?有没有办法让我抓住照片的名字,然后用它的名字来访问它? – John123

+0

此代码将只保存您的图像在没有任何标识符的iOS照片库中检索完全相同的照片,因此要再次访问它,您必须强制用户再次打开imagePickerController并手动选择它。为了更好地控制保存的图像,您可以使用ALAsset/PHAsset类,但代码会更复杂。 – NSDmitry

相关问题