UIImagePickerController出现,但摄像头不显示';在iOS 5上无法启动

UIImagePickerController出现,但摄像头不显示';在iOS 5上无法启动,ios,ipad,uiviewcontroller,ios5,uiimagepickercontroller,Ios,Ipad,Uiviewcontroller,Ios5,Uiimagepickercontroller,我有一个应用程序,其中我展示了一个源类型为UIImagePickerControllerSourceTypeCamera的UIImagePickerController。一切正常,除非我离开应用程序并返回(多任务已启用,因此应用程序将返回到停止的位置),并且我再次显示UIImagePickerController。它出现在屏幕上,但相机从未显示,显示相机的动画从未出现,以下是一个屏幕截图: 如果我按cancel并再次显示UIImagePickerController,相机将显示良好。因此,出现此

我有一个应用程序,其中我展示了一个源类型为
UIImagePickerControllerSourceTypeCamera
UIImagePickerController
。一切正常,除非我离开应用程序并返回(多任务已启用,因此应用程序将返回到停止的位置),并且我再次显示
UIImagePickerController
。它出现在屏幕上,但相机从未显示,显示相机的动画从未出现,以下是一个屏幕截图:

如果我按cancel并再次显示
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)ViewDidDisplay:(BOOL)动画,则会修复问题。在过去的两周里,我一直在尝试解决这个问题

将其更改为[自我呈现模式视频控制器:capturePhotoPicker动画:是];相机是Modal.CodaFi,您建议使用一种过时的方法来显示模态视图控制器,很抱歉,但这没有帮助。(根据苹果公司的说法,presentViewController:animated:completion:method是显示任何视图控制器的首选方式,您只需调整显示样式使其成为模态,等等)苹果公司不允许堆叠导航栏。由于图像选择器有自己的导航栏,因此无法将其放置在导航堆栈中。例如,模态或无。你说的“过时”是什么意思?这与事实相差甚远。过时意味着不推荐,presentModalViewController似乎并没有向我发出不推荐警告:PCodaFi,我并没有说不推荐,我想你需要了解iOS 5中的新功能:)“presentViewController:animated:completion:方法是从iOS 5.0开始呈现模式视图的首选方法。”-Apple。这不是以模式呈现视图的问题,两种方法产生相同的结果。仅供参考,当UIImagePicker设置为camera时,没有导航栏。请看,这个答案解决了我的类似问题:释放/保留对象适用于恐龙时代。您应该使用ARC,让系统为您处理。我正在使用ARC,但仍然存在保存问题