【问题标题】:Hide statusbar with UINavigationBar barPositionTopAttached使用 UINavigationBar barPositionTopAttached 隐藏状态栏
【发布时间】:2014-06-20 13:58:30
【问题描述】:

我有 rootViewController - UINavigationController。 如您所知,UINavigationControllerUINavigationBar。 在 iOS 7 中,UINavigationBar 可能带有 barPosition topAttached。 我想通过单击按钮来隐藏 ON/OFF 状态栏。但我也希望UINavigationBar 应该始终是 barPositionTopAttached。

- (BOOL)prefersStatusBarHidden {
   return __statusBarHidden;
}

- (IBAction)tapShowPhotosButton:(id)sender {
    __statusBarHidden = !__statusBarHidden;
    [self setNeedsStatusBarAppearanceUpdate];
}

现在UINavigationBarbarPositiontopAttached 更改为顶部,等等。

【问题讨论】:

    标签: ios7 uiviewcontroller uinavigationbar ios7-statusbar


    【解决方案1】:

    试试这个:

    - (IBAction)tapShowPhotosButton:(id)sender 
    {
        __statusBarHidden = !__statusBarHidden;
        [[UIApplication sharedApplication] setStatusBarHidden:__statusBarHidden withAnimation:UIStatusBarAnimationSlide];
        [self setNeedsStatusBarAppearanceUpdate];
    }
    

    导航栏应该随着状态栏自动移动

    【讨论】:

      【解决方案2】:

      我写信给技术支持并得到下一个答复:

      如文档中所述,当条形图需要知道其在其新窗口中的位置时,将调用-positionForBar。状态栏隐藏或取消隐藏时不会调用。导航控制器处理调整导航栏的大小以响应状态栏的更改。不幸的是,UINavigationController 没有提供任何 API 来自定义导航栏调整大小的行为。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-02
        • 2013-11-06
        相关资源
        最近更新 更多