在IOS 7`中展示相册时,状态栏会启用

时间:2013-09-22 18:23:17

标签: uiimagepickercontroller ios7

在我的应用中,我没有显示状态栏。 在IOS 7中,我不得不在信息plist中添加“View controller-based status bar appearance”,这很好,但是当我使用以下代码时:

imagePicker.allowsEditing = YES;
imagePicker.sourceType = (sender == self.chooseImageBtn && [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) ?    UIImagePickerControllerSourceTypeCamera :
UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[self presentViewController:imagePicker animated:YES completion:nil];

即使添加以下代码,状态栏也会再次显示:

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

2 个答案:

答案 0 :(得分:1)

当您打开图像拾取器时会出现此问题,因为状态栏会显示在那里。

我遇到了同样的问题。

这是我的解决方案。把它放在视图控制器的viewWillAppear中,从中打开图像选择器视图

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

    [[UIApplication sharedApplication] setStatusBarHidden:YES];

}

答案 1 :(得分:0)

我也和他斗争了很长时间。这就是我最终摆脱它的原因。

- (void) navigationController:(UINavigationController *) navigationController   willShowViewController:(UIViewController *) viewController animated:(BOOL)animated
{
    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
        [self setNeedsStatusBarAppearanceUpdate];
        viewController.contentSizeForViewInPopover = navigationController.topViewController.view.frame.size;
    }
}

另外,在Info.plist中,添加:

View controller-based status bar appearance: NO

希望有所帮助。