J'ai une application où je présente un UIImagePickerController
avec le type de source UIImagePickerControllerSourceTypeCamera
. Tout fonctionne bien à less de quitter l'application et de revenir (le multitâche est activé pour que l'application revienne là où elle UIImagePickerController
arrêtée) et je présente à nouveau le UIImagePickerController
. Il apparaît à l'écran mais l'appareil photo ne le montre jamais, l'animation où la camera est révélée n'arrive jamais, voici une capture d'écran:
Si j'appuie sur annuler et présenter à nouveau le UIImagePickerController
, l'appareil photo s'affichera UIImagePickerController
. Ainsi, la première fois que ce problème se produit est la première fois que je présente le UIImagePickerController
après être revenu à l'application. quelquun sait pourquoi cela se passe? Je code pour iOS 5
Je présente le UIImagePickerController
avec:
[self presentViewController:capturePhotoPicker animated:YES completion:nil];
et le rejeter avec:
[self dismissViewControllerAnimated:YES completion:nil];
J'utilise le même object UIImagePickerController
chaque fois que je le présente
J'ai eu exactement le même problème et j'ai réalisé que je ne UIImagePickerController
pas le UIImagePickerController
après l'avoir présenté. La camera fonctionne maintenant bien pour la première fois après avoir quitté et revenir à l'application.
Donc c'est mon code exact:
UIImagePickerController *takePhotoController = [[UIImagePickerController alloc] init]; takePhotoController.sourceType = UIImagePickerControllerSourceTypeCamera; takePhotoController.delegate = self; [self presentModalViewController:takePhotoController animated:YES]; [takePhotoController release];
C'est l'un de ces problèmes sur lesquels vous pouvez passer des années, et la solution n'est pas si évidente (eh bien, ce n'était pas pour moi), alors j'espère que cela aidera certaines personnes!
si vous modifiez le – (void) viewDidLoad à – (void) viewDidAppear: (BOOL) animé, il résout le problème. J'ai passé les deux dernières semaines à essayer de comprendre