添加UIImagePickerController时状态栏不显示

问题描述:

我想在导航栏&标签栏之间显示摄像头视图,所以我按如下所示添加了UIImagePickerController对象。添加UIImagePickerController时状态栏不显示

picker = [[Camera3DViewController alloc] init]; 

picker.allowsImageEditing = NO; 

picker.sourceType = UIImagePickerControllerSourceTypeCamera; 

picker.showsCameraControls = NO; 

picker.view.transform = CGAffineTransformScale(picker.view.transform, 1, 1); 

[self.view addSubview:picker.view]; 

[picker viewWillAppear:YES]; 

[picker viewDidAppear:YES]; 

注意Camera3DViewControllerUIImagePickerController类的子类。

相机进行显示,但是状态栏不显示,所以我用,

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

但仍然不显示状态栏。

请指导我解决上述问题。

+1

你真的不应该继承UIImagePickerController。从http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html:该类旨在按原样使用,不支持子类。 – 2010-09-27 07:21:39

+0

setStatusBarHidden:YES应该隐藏状态栏。您应该发送setStatusBarHidden:NO消息来显示状态栏。 – 2010-09-27 09:22:38

+0

嗨机器人,我已经检查结果没有子类UIImagePickerController但仍然不显示状态栏。 – Abhijeet 2010-09-27 10:55:50

我子类UIImagePictureController并补充说:

- (void) viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 

    [[UIApplication sharedApplication] setStatusBarHidden:NO animated:animated]; 
} 

后显示状态是非常重要的[超级viewDidAppear:动画]。呼叫,否则它没有出现。调用超类方法也很重要。

+0

我已验证此功能。 – jimt 2011-04-19 03:57:52