2015-12-27 2 views
1

При использовании камеры по умолчанию в быстры, я использую это, чтобы сделать снимок, а затем показать его в ImageView:Где изображение, снятое с iOS?

@IBAction func takePhoto() { 
    let picker = UIImagePickerController() 

    picker.delegate = self 
    picker.sourceType = .Camera 

    self.presentViewController(picker, animated: true, completion: nil) 
} 

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

Но я хочу, чтобы принять образ, который я просто взял и сохранить этот образ в постоянном , но я не знаю, какой образ я взял. Я попытался использовать это как образ

UIImage(named: UIImagePickerControllerOriginalImage) 

UIImage(named: "spect a string here") и UIImagePickerControllerOriginalImage возвращает мне строку так, поэтому я подумал, что может быть образ, но мне кажется, что это не будет работать.

+1

Почему бы не сохранить 'imageView.image' в переменной после настройки imageView? – Dopapp

+0

Как? Я два изображения один из моего компьютера (изображение по умолчанию, показанное на изображении), а другое изображение - это тот, который вы можете взять с помощью камеры. – Pixele9

+0

Я смущен. Является ли imageView показом изображения, которое вы только что взяли с камерой, или это то, с чем вы столкнулись? – Dopapp

ответ

1

Вы можете сказать что-то вроде:

var photo = UIImage() // Accessible from anywhere in the class 
@IBAction func takePhoto() { 
    let picker = UIImagePickerController() 
    picker.delegate = self 
    picker.sourceType = .Camera 
    self.presentViewController(picker, animated: true, completion: nil) 
} 

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
    imageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage 
    photo = info[UIImagePickerControllerOriginalImage] as? UIImage // Assign `photo` to the image 
} 

В приведенном выше коде, photo переменная доступны из любого места в классе. Поэтому он доступен из всех ваших функций и обработчиков. info[UIImagePickerControllerOriginalImage] as? UIImage - изображение с камеры, а в коде вы меняете переменную photo на изображение с камеры. Теперь изображение с камеры доступно позже из любого места в этом классе.

Смежные вопросы