UIImagePickerController appears but camera doesn't start on iOS 5

China☆狼群 提交于 2019-12-06 07:41:00

问题


I have an app where I present a UIImagePickerController with source type UIImagePickerControllerSourceTypeCamera. Everything works fine unless I leave the app and come back (multitasking is enabled so the app comes back right where it left off) and I present the UIImagePickerController again. It appears on screen but the camera never shows, the animation where the camera is revealed never happens, here is a screenshot:

If I press cancel and present the UIImagePickerController again, the camera will show up fine. So the only time this problem occurs is the first time I present the UIImagePickerController after coming back to the app. Anyone know why this is happening? I'm coding for iOS 5

I'm presenting the UIImagePickerController with:

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

and dismissing it with:

[self dismissViewControllerAnimated:YES completion:nil];

I am using the same UIImagePickerController object each time I present it


回答1:


I had exactly the same problem and then realized I wasn't releasing the UIImagePickerController after presenting it. The camera now works fine first-time after leaving and returning to the app.

So this is my exact code:

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

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

It's one of those problems you can spend ages on, and the solution is not that obvious (well, it wasn't to me), so I hope this helps some people!




回答2:


if you change the -(void)viewDidLoad to - (void)viewDidAppear:(BOOL)animated it fixes the problem. I've spent the last 2 weeks trying to figure this out



来源:https://stackoverflow.com/questions/8283063/uiimagepickercontroller-appears-but-camera-doesnt-start-on-ios-5

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!