/ / iphone: jak zatrzymać animację migawki? - iphone, aim-c, ios, uiimagepickercontroller

iphone: jak zatrzymać animację migawki? - iphone, obiektyw-c, ios, kontroler uiimagepicker

Mam 2 problemy.

1) Chcę wiedzieć, jak mogę zatrzymać animację migawki po załadowaniu kamery? Używam UIImagePickerController. Odniosłem wiele odpowiedzi z przepełnienia stosu, ale nie udało się.

2) Mam własny przycisk w aparacie cameraOverlayView i chcesz otworzyć bibliotekę zdjęć po kliknięciu. Mam kod taki jak:

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

zostaje wywołany, gdy kamera jest już pokazana.

Thnaks ...

Odpowiedzi:

4 dla odpowiedzi № 1

Używać UIImagePickerController, nie ma nic, co możesz zrobić z tą początkową animacją migawki. To rzeczywiście ukrywa czas uruchamiania. Możesz przełączyć się na korzystanie z AVFoundation i uzyskać AVCaptureVideoPreviewLayer, który nie ma animacji migawki, ale ty nadaluzyskać opóźnienie między żądaniem uruchomienia kanału a jego uruchomieniem. Nie jestem ekspertem od sprzętu, ale zakładam, że opóźnienie jest spowodowane tym, że jednostka zarządzania energią zwykle ma wyłączony cały podsystem.

Twój kod dla showLibraryPicker wygląda mniej więcej poprawnie, chociaż możesz dzwonić presentModalViewController:animated: na złego aktora. UIImagePickerController jest kontrolerem widoku, więc jeśli go nie subklasyfikujesz (tzn. kod, który piszesz, nie jest częścią tego, co działasz jako UIImagePickerController) wtedy będziesz chciał to zrobić [pickerController presentModalViewController:...].