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 для его предоставления.

Другие вопросы по тегам