在AppDelegate中实现后隐藏自定义状态栏视图

时间:2014-04-29 22:38:26

标签: objective-c ios7 statusbar

我在appDelegate类中使用以下代码创建了我的状态栏。

   UIView *statusBarView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320, 20)];
        theView.backgroundColor = customGrayColor;
        [self.window.rootViewController.view addSubview:statusBarView];

现在我想在其中一个viewCO控制器中动态隐藏它。我隐藏了导航栏和状态栏。

    [[UIApplication sharedApplication] setStatusBarHidden:YES];
    [self.navigationController setNavigationBarHidden:YES];

我可以看到状态栏已被隐藏,因为所有文本都隐藏了,但只有灰色的视图不会隐藏。

问题的范围只有iOS 7。

1 个答案:

答案 0 :(得分:1)

通过调用[[UIApplication sharedApplication] setStatusBarHidden:YES];,您可以隐藏作为UIStatusBar类实例的本机应用程序状态栏。但它不会隐藏statusBarView类实例的自定义视图UIView
用于隐藏自定义视图调用:
statusBarView.hidden = YES;

[statusBarView removeFromSuperView]

如果您需要将其隐藏起来ViewController,请考虑将属性添加到AppDelegate以存储statusBarView并从任何其他位置访问它。