iOS 7状态栏问题

时间:2013-10-11 03:26:43

标签: iphone ios ios7 uistatusbar

我有一个隐藏状态栏的应用程序。对于隐藏状态栏,我做了以下事情:

  [[UIApplication sharedApplication] setStatusBarHidden:YES];

这适用于ios 6.现在在iOS 7中我添加了View controller-based status bar appearance = NO。 我还创建了导航控制器的子类并添加了:

- (BOOL)prefersStatusBarHidden
{
    return YES;
}

一切都运行良好但是当我呈现UIImagePicker状态栏变得可见时,即使在解除视图后它也永远不会隐藏。我也在相关视图中添加了prefersStatusBarHidden方法,但没有成功:(

请帮助。

3 个答案:

答案 0 :(得分:3)

使用以下链接

- (void)imagePickerController:(UIImagePickerController *)aPicker didFinishPickingMediaWithInfo:(NSDictionary *)info {

// for iOS7
    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {

        [[UIApplication sharedApplication] setStatusBarHidden:YES];
    }

以下是有关堆栈溢出的ios7中状态栏问题的参考列表。 ; - )

Status bar and navigation bar appear over my view's bounds in iOS 7

Status bar won't disappear

Status bar appear over my view's bounds in iOS 7

答案 1 :(得分:0)

使用可以将此方法用于状态栏Issue.It应该可以正常工作。

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
        UIView *addStatusBar = [[UIView alloc] init];
        addStatusBar.frame = CGRectMake(0, 0, 320, 20);
        addStatusBar.backgroundColor = [UIColor colorWithRed:0.973 green:0.973 blue:0.973 alpha:1]; //change this to match your navigation bar
        [self.window.rootViewController.view addSubview:addStatusBar];
    }

答案 2 :(得分:0)

Target's常规设置中尝试此操作。

enter image description here