我试图在自定义视图中显示相机的内容。我想要实现的是让自定义按钮拍摄照片,以便一次拍摄多张照片。在理论上,它应该开箱即用,但实际上有时会发生如果我解雇了我的自定义视图控制器然后“很快”重新打开它,UIImagePickerController只显示一个空白(实际上是黑色)内容。有趣的是,如果您尝试拍摄照片,相机实际上已启用并且快门打开,您可以收集图像。唯一的问题似乎与将实况内容显示到特定的UIView有关。UIImagePickerController在自定义视图中不显示相机
这是我用来显示它的代码:
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
[imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePickerController setShowsCameraControls:NO];
[imagePickerController setEditing:NO];
[imagePickerController setNavigationBarHidden:YES];
[imagePickerView addSubview:[imagePickerController view]];
[imagePickerController viewWillAppear:YES];
我不喜欢viewWillAppear
方法调用,但它是我为了显示它发现的唯一途径。 imagePickerView
确实是我之前创建的用于放置选取器的视图。
通过自己挖掘一点问题,我注意到如果在重新打开我的自定义视图控制器之前等待几秒钟,则选择器正常显示。
通过查看控制台,看起来选择器(或与其关联的摄像机资源)实际上是在一段时间后发布的,但这仅仅是一种猜测。
任何线索?谢谢
你说得对。我做的和你的建议完全一样,它现在像一个魅力。谢谢! – 2011-03-24 13:07:47
HI法比亚诺,请分享您在addSubview之后处理的其他视图相关通知。我遇到类似的问题,并在控制台上发出警告 - “忽略拍照请求;相机尚未准备就绪。” – 2012-09-10 17:22:17