我已经制作了一个带有自定义叠加视图的UIImagePickerController,以便增强界面,并且在我第一次加载它时效果很好,这是完美的。 问题是,如果我解雇它然后再次显示它我有一个奇怪的错误。摄像机视图和叠加层显示在导航栏和前一个视图控制器的TabBar后面。
我尝试了不同的实现方法,但我无法解决这个问题。
以下是我调用UIImagePickerController的方法。它的灵感来自this sample code。
[self.cameraOverlayViewController setupImagePicker:UIImagePickerControllerSourceTypeCamera];
[self presentModalViewController:self.cameraOverlayViewController.imagePickerController animated:YES];
拍完照片后,我解雇了UIImagePickerController:
[self dismissModalViewControllerAnimated:YES];
绝对没有什么特别的实施方式。
这里有两个截图:
现在第二次发布: At second launch http://puic.dev.madebykawet.com/IMG_0929.PNG
感谢您的回答!
答案 0 :(得分:0)
//hide all controls
picker.showsCameraControls = NO;
picker.navigationBarHidden = YES;
picker.toolbarHidden = YES;
答案 1 :(得分:0)
感谢您的帮助Peko,但事实并非如此。
经过几个小时的尝试,我发现我需要从根控制器启动UIImagePickerController。 这可能是因为我正在使用Three20库中的TTNavigator。
所以我的情况就是这样:
[[TTNavigator navigator].rootViewController presentModalViewController:self.cameraOverlayViewController.imagePickerController animated:YES];
而不是:
[self presentModalViewController:self.cameraOverlayViewController.imagePickerController animated:YES];
对于dismissModalViewControllerAnimated同样的事情:
[[TTNavigator navigator].rootViewController dismissModalViewControllerAnimated:YES];