2013-04-26 2 views
0

Я хочу использовать UIImagePickerController не модально, с небольшим квадратным превью. Тем не менее, я получаю большой черный бар в нижней части предварительного просмотра, от которого я не могу избавиться (см. Скриншот). Почему он там, и как я могу избавиться от него?UIImagePickerController и небольшой пользовательский просмотр

Screenshot

Код:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    _imagePickerVC = [[UIImagePickerController alloc] init]; 
    _imagePickerVC.sourceType = UIImagePickerControllerSourceTypeCamera; 
    _imagePickerVC.mediaTypes = @[ (NSString *)kUTTypeImage ]; 
    _imagePickerVC.wantsFullScreenLayout = NO; 
    _imagePickerVC.delegate = (id)self; 
    _imagePickerVC.navigationBarHidden = YES; 
    _imagePickerVC.allowsEditing = NO; 
    _imagePickerVC.showsCameraControls = NO; 
    _imagePickerVC.cameraDevice = UIImagePickerControllerCameraDeviceFront; 

    CGRect previewFrame = CGRectMake(0, 0, 150, 150); 
    [_imagePickerVC.view setFrame:previewFrame]; 
    _imagePickerVC.view.autoresizesSubviews = YES; 
    [self.view addSubview:_imagePickerVC.view]; 
    [_imagePickerVC viewWillAppear:YES]; 
    [_imagePickerVC viewDidAppear:YES]; 

} 

ответ

2

Это злоупотребление UIImagePickerController. Чтобы создать свой собственный интерфейс захвата изображений, просто используйте AVFoundation.

+1

Вот раздел моей книги, объясняющий, как это сделать: http://www.apeth.com/iOSBook/ch30.html#_image_capture_with_av_foundation – matt

+0

Спасибо. Я подозревал, что мне придется использовать AVFoundation. – Macondo2Seattle

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