iphone: как остановить анимацию затвора? - PullRequest
0 голосов
/ 17 августа 2011

У меня 2 проблемы.

1) Я хочу знать, как я могу остановить анимацию затвора при загрузке камеры?Я использую UIImagePickerController.Я отослал много ответов от переполнения стека, но не получил успеха.

2) У меня есть пользовательская кнопка в камере, использующая cameraOverlayView, и я хочу открыть библиотеку фотографий при нажатии.У меня есть код вроде:

- (void) showLibrabryPicker
{
    pickerLibrary = [[UIImagePickerController alloc] init];
    pickerLibrary.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    pickerLibrary.delegate = self;
    [self presentModalViewController:pickerLibrary animated:YES];
    [pickerLibrary release];
}

он вызывается, когда камера уже показана.

Thnaks ...

1 Ответ

4 голосов
/ 17 августа 2011

Используя UIImagePickerController, вы ничего не можете сделать с этой начальной анимацией затвора. Это на самом деле, чтобы скрыть время запуска. Вы можете переключиться на использование AVFoundation и получить AVCaptureVideoPreviewLayer, у которого нет анимации затвора, но вы все равно получаете задержку между запросом запуска канала и его началом. Я не эксперт по аппаратному обеспечению, но предполагаю, что задержка вызвана тем, что блок управления питанием обычно отключает всю подсистему.

Ваш код для showLibraryPicker выглядит более или менее правильным, хотя вы, возможно, звоните presentModalViewController:animated: не тому актеру. UIImagePickerController является контроллером представления, поэтому, если вы еще не подклассировали это (т.е. код, который вы пишете, сам по себе не является частью того, что вы действуете как UIImagePickerController), тогда вы захотите сделать [pickerController presentModalViewController:...].

...