использовать камеру в качестве подпредставления - PullRequest
2 голосов
/ 06 мая 2011

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

Теперь я использую

UIImagePickerController * picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.delegate = self;
[self presentModalViewController:picker animated:YES];   

Я хочу использовать это так, но, похоже, не работает* Я знаю, что UIImagePickerControllerSourceTypeCamera можно использовать только как модальное представление.Как, например, Hipstamatic использует это, например?

Ответы [ 3 ]

10 голосов
/ 08 мая 2011

Это возможно в iOS 4+ с использованием AVCaptureSession framework . Это намного сложнее, чем использование UIImagePickerController, но у вас есть полный контроль над вводом и выводом. Ключом к просмотру камеры в качестве подпредставления является следующий код. Предположим, у вас есть подпредставление с именем previewView, которое вы хотите показать с камеры:

AVCaptureSession *session = [[AVCaptureSession alloc] init];
AVCaptureVideoPreviewLayer *previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:session];
previewLayer.frame = self.previewView.bounds; 
[self.previewView.layer addSublayer:previewLayer];

Необходимо выполнить дополнительную настройку, чтобы дать объекту AVCaptureSession правильные устройства ввода и вывода и фактически сделать снимки. Это можно найти в документации и примерах в Интернете.

0 голосов
/ 07 мая 2011

Посетите ссылку , чтобы понять, как можно добиться успеха Ищите демоверсию AVCam на ресурсах developer.apple.com для программы IOS. Вы обязательно поймете, как это работает. Вы должны быть зарегистрированным разработчиком в APPLE, и это очень просто.

Надеюсь, это поможет.

0 голосов
/ 06 мая 2011

Вы правы, единственными поддерживаемыми методами для отображения UIImagePickerController являются presentModalViewController:animated: или UIPopoverController.

Я не знаком с Hipstamatic, но есть вероятность, что он использует AVFoundation , в частности AVCaptureVideoPreviewLayer .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...