iOS UIImagePickerController и проблема TakePicture
Я пытаюсь сделать простое приложение, используя XCode и Swift с помощью кнопки. Когда пользователь нажимает кнопку, фотография делается, отображается на экране и сохраняется в рулоне камеры iPad. Я хочу иметь настроенный интерфейс, поэтому я не хочу использовать стандартную функцию imagePicker.
Я поместил некоторый код, пытаясь определить метод takePicture, но мне не удается заставить его работать:
var imagePicker: UIImagePickerController!
@IBAction func takePhoto(sender: UIButton) {
imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .Camera
imagePicker.cameraDevice = .Front
imagePicker.cameraOverlayView = self.view
imagePicker.showsCameraControls = false
imagePicker.takePicture()
}
Я предполагаю, что при выполнении снимок сделан, и я хотел бы использовать функцию UIImageWriteToSavedPhotosAlbum впоследствии, но я не могу понять, как получить доступ к изображению.
1 ответ
Вы должны реализовать:
func imagePickerController(picker: UIImagePickerController,
didFinishPickingMediaWithInfo info: [String : AnyObject])
{
let image = info[UIImagePickerControllerOriginalImage]
//do something with the image or if you want the user to edit the image first
let editedImage = info[UIImagePickerControllerEditedImage]
}
Этот метод будет вызван после того, как фотография сделана. Вам необходимо представить UIImagePickerController. Если вам нужен пользовательский интерфейс, вы можете использовать cameraOverlayView для его предоставления.