2016-03-07 59 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

相關問題