UIImagePickerController出现但摄像头无法在iOS 5上启动
我有一个应用程序,我提出了一个源类型为UIImagePickerControllerSourceTypeCamera
。 一切正常,除非我离开应用程序并返回(启用多任务处理以便应用程序返回到它停止的位置)并再次呈现UIImagePickerController
。 它出现在屏幕上,但相机从未显示,相机显示的动画永远不会发生,这是一个截图:
如果我按下取消并再次出现UIImagePickerController
,相机将显示正常。 所以这个问题发生的唯一时间是我第一次在回到应用程序后呈现UIImagePickerController
。 任何人都知道为什么会这样吗? 我正在为iOS 5编写代码
我正在使用以下内容呈现UIImagePickerController
:
[self presentViewController:capturePhotoPicker animated:YES completion:nil];
并解雇它:
[self dismissViewControllerAnimated:YES completion:nil];
我每次呈现它时都使用相同的UIImagePickerController
对象
我有完全相同的问题,然后意识到我没有在呈现它之后发布UIImagePickerController
。 在离开并返回应用程序后,相机现在可以首次正常工作。
所以这是我的确切代码:
UIImagePickerController *takePhotoController = [[UIImagePickerController alloc] init]; takePhotoController.sourceType = UIImagePickerControllerSourceTypeCamera; takePhotoController.delegate = self; [self presentModalViewController:takePhotoController animated:YES]; [takePhotoController release];
这是你可以花费多年的问题之一,解决方案并不那么明显(好吧,这不是我),所以我希望这能帮助一些人!
如果您将 – (void)viewDidLoad更改为 – (void)viewDidAppear:(BOOL)动画,它可以解决问题。 过去两周我一直试图解决这个问题