5

我从我的 MainViewController 调用 UIImagePickerController (sourceTypeCamera) 作为 modalViewController。但是,UIImagePickerController 并没有填满顶部的屏幕,如所附图像所示。 UIImagePickerController 奇怪的行为 知道是什么原因造成的,以及如何解决?

4

7 回答 7

3

[[[[UIApplication sharedApplication] delegate] window] rootViewController]经过多次尝试,我发现从解决问题的方法中调用 presentViewController 。

于 2012-08-26T08:37:08.057 回答
0

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

imagePickerController.view.frame.origin.y = 20;

于 2012-06-14T13:01:55.210 回答
0

一些代码会有所帮助。

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

于 2012-06-14T13:10:37.253 回答
0

在我的应用程序中,它位于 navigationController 内部的视图控制器中 - 我正在做这样的事情:

UIImagePickerController* imagePickerController_;

imagePickerController_.sourceType =  UIImagePickerControllerSourceTypeCamera; 

[self presentModalViewController:imagePickerController_ animated:YES];

@interface CustomViewController : UIViewController <UIImagePickerControllerDelegate>

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

于 2012-06-14T16:48:52.720 回答
0

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

一个布尔值,指示视图是否应在状态栏下方。

我遇到了几个问题,尤其是在 iOS 5 上,视图位于状态栏下方,尤其是在模态显示时。我发现最好的方法是将此值设置为YES,并在状态栏下方手动布置视图。仅供参考,状态栏的高度为 20。

于 2012-12-27T02:10:54.797 回答
0

称呼

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];

打电话之前

[self presentModalViewController:picker animated:YES]
于 2013-08-09T16:06:56.343 回答
-1
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];
于 2012-12-26T07:26:55.263 回答