UIImagePickerController出现但摄像头无法在iOS 5上启动

时间:2011-11-27 01:51:24

标签: ios ipad uiviewcontroller ios5 uiimagepickercontroller

我有一个应用,其中我提供了UIImagePickerController源类型UIImagePickerControllerSourceTypeCamera。一切正常,除非我离开应用程序并返回(启用多任务处理,以便应用程序返回到它停止的位置)并再次显示UIImagePickerController。它出现在屏幕上,但相机从未显示,相机显示的动画永远不会发生,这里是截图:screenshot

如果我按取消并再次显示UIImagePickerController,相机将显示正常。所以这个问题发生的唯一时间是我第一次在回到应用程序后呈现UIImagePickerController。任何人都知道为什么会这样吗?我正在为iOS 5编码

我正在向UIImagePickerController提出:

[self presentViewController:capturePhotoPicker animated:YES completion:nil];

并以:

解雇
[self dismissViewControllerAnimated:YES completion:nil];

每次呈现时我都使用相同的UIImagePickerController对象

2 个答案:

答案 0 :(得分:0)

我遇到了完全相同的问题,然后意识到在呈现它之后我没有发布UIImagePickerController。离开并返回应用程序后,相机现在可以正常工作。

所以这是我的确切代码:

UIImagePickerController *takePhotoController = [[UIImagePickerController alloc] init];
takePhotoController.sourceType = UIImagePickerControllerSourceTypeCamera;
takePhotoController.delegate = self;

[self presentModalViewController:takePhotoController animated:YES];
[takePhotoController release];

这是你可以花费多少时间的问题之一,解决方案并不那么明显(好吧,这不是我),所以我希望这能帮助一些人!

答案 1 :(得分:0)

如果您将 - (void)viewDidLoad更改为 - (void)viewDidAppear:(BOOL)动画,它可以解决问题。我花了最近两周试图解决这个问题