2011-06-17 210 views
1

为了增强界面,我制作了一个带有自定义覆盖视图的UIImagePickerController,并且它在第一次加载时效果很好,非常完美。 问题是,如果我解雇它,然后再次显示它,我有一个奇怪的错误。相机视图和覆盖图出现在前一个视图控制器的NavBar和TabBar后面。第二次加载时自定义的UIImagePickerController问题

我尝试了不同的方法来实现这个,但我无法解决这个错误。

这是我如何调用我的UIImagePickerController。它的灵感来自于this sample code

[self.cameraOverlayViewController setupImagePicker:UIImagePickerControllerSourceTypeCamera]; 
[self presentModalViewController:self.cameraOverlayViewController.imagePickerController animated:YES]; 

一旦我的图像拍摄,我解聘的UIImagePickerController:

[self dismissModalViewControllerAnimated:YES]; 

Definitly没有实施它的方式特殊。

这里2截图:

At first launch

现在在第二次发射采取: At second launch http://puic.dev.madebykawet.com/IMG_0929.PNG

谢谢您的回答!

+0

你可以张贴代码? – 2011-06-17 11:28:03

回答

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]; 
0

你有没有试过类似的东西?

//hide all controls 
picker.showsCameraControls = NO; 
picker.navigationBarHidden = YES; 
picker.toolbarHidden = YES; 
相关问题