Iphone UIImagePickerController(sourceTypeCamera)不';t顶部/状态栏上的填充屏幕

Iphone UIImagePickerController(sourceTypeCamera)不';t顶部/状态栏上的填充屏幕,iphone,uiimagepickercontroller,uistatusbar,Iphone,Uiimagepickercontroller,Uistatusbar,我正在从主视图控制器中调用UIImagePickerController(sourceTypeCamera)作为modalViewController。 但是,UIImagePickerController并没有像所附的图像所示那样填充顶部的屏幕。 知道是什么原因导致了这种情况,以及如何修复吗?您应该更改imagePickerController的frame属性。初始化时,即 imagePickerController.view.frame.origin.y=20 一些代码可能会有帮助 如果相关

我正在从主视图控制器中调用UIImagePickerController(sourceTypeCamera)作为modalViewController。 但是,UIImagePickerController并没有像所附的图像所示那样填充顶部的屏幕。
知道是什么原因导致了这种情况,以及如何修复吗?

您应该更改imagePickerController的frame属性。初始化时,即


imagePickerController.view.frame.origin.y=20

一些代码可能会有帮助


如果相关,请尝试设置
bounds
属性,而不是
frame
属性。

在我的应用程序中,在navigationController内部的viewcontroller中-我只是这样做:

UIImagePickerController* imagePickerController_;

imagePickerController_.sourceType =  UIImagePickerControllerSourceTypeCamera; 

[self presentModalViewController:imagePickerController_ animated:YES];

@接口CustomViewController:UIViewController

工作没有问题。如果你仍然有问题,那么你能分享一些代码吗?您的应用程序具有什么样的导航结构(tabbarcontroller、navigationcontroller等等?),如何呈现imagepickercontroller?

经过多次尝试,我发现从
[[[[UIApplication sharedApplication]delegate]窗口]rootViewController]调用presentViewController
解决了问题。

UIViewController上有一个布尔值可能对您有用:
wantsFullScreenLayout
。根据文件,这是:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;


[self.view addSubview:imagePicker.view];

[imagePicker viewWillAppear:YES];
[imagePicker viewDidAppear:YES];

[[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO];
一个布尔值,指示视图是否应位于状态栏的下方

我遇到了几个问题,尤其是在iOS5上,状态栏下面有视图,尤其是以模式显示时。我发现最好的方法是将该值设置为
YES
,然后手动将视图布置在状态栏下方。仅供参考,状态栏的高度为20。

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
打电话之前

[self presentModalViewController:picker animated:YES]

这绝不是调用简单选取器的预期行为,请附上如何表示的代码,以便我们更好地理解问题。@natan:只有在顶部有一个黑色条,或者在底部有一个黑色条?我想你在底部也有一个黑条,但是用工具栏隐藏了它。是吗?在使用[UIApplication sharedApplication]委派]窗口]rootViewController]presentViewController:录像机动画:是完成:^{}]时,我仍然有同样的问题;或[self.window.rootViewController presentModalViewController:videoRecorder animated:YES];从AppDelegate类中,您正在哪个iOS中尝试此操作?
[self presentModalViewController:picker animated:YES]