2013-10-04 6 views
0

Мне трудно найти делегата.UIImagePickerController Делегат не делает то, что мне нужно

Вы знаете, как у нас только 2 метода делегирования прямо сейчас в UIImagePickerControllerDelegate.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info; 
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker; 

Проблема заключается в том imagePickerController:didFinishPickingMediaWithInfo:info будет только активируется, когда захват пытается сохранить изображение.

Что мне нужно сделать, это изменить cameraDevice, когда нажата кнопка «захват».

Например, если по умолчанию cameraDevice был на переднем, когда нажата кнопка «захвата», это фактически изменит его камеру, чтобы быть задней и сделать снимок.

imagePickerController:didFinishPickingMediaWithInfo:info вызывается после того, как снимок сделан, поэтому это утверждение в методе делегата не будет работать.

picker.cameraDevice = UIImagePickerControllerCameraDeviceRear; 

Мне нужно найти/реализовать делегат/метод, который на самом деле заставит это произойти. Кто-нибудь может мне помочь?

ответ

1

Вы не можете сделать это с помощью интерфейса камеры по умолчанию, предоставленного Apple. Вам придется реализовать свои собственные элементы управления. Вы можете добавить оверлейный вид поверх предоставленного пользовательского интерфейса камеры и расширить его, но вы не можете изменить существующие элементы управления.

+0

Я предполагаю, что это означает, что я должен либо перевернуть камеру, и снять снимок экрана с помощью специальной кнопки IBAction, и обрезать изображение или что-то еще .. !! :( – fkkcloud

+0

Я предполагаю, что я подойду к API AVCaptureSession, но я не вижу, есть ли у меня контроль над изменением «cameraDevice» на передний или задний с помощью этого API? Есть ли какой-либо другой API, который обеспечивает изменение «CameraDevice»? Рядом с «UIImagePickerController», ? – fkkcloud

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