【问题标题】:Dynamically hiding status bar动态隐藏状态栏
【发布时间】:2014-10-30 21:10:10
【问题描述】:

我想在单击按钮时隐藏状态栏。我试过了:

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

我没有运气。我错过了什么吗?

【问题讨论】:

标签: ios objective-c uinavigationcontroller statusbar


【解决方案1】:

简单的方法是,转到 info.plist 文件。添加行,“查看基于控制器的状态栏外观”并设置为 NO。检查作为答案

【讨论】:

    【解决方案2】:

    仅用于在代码中打开和关闭:

    -(void)statusBarShouldHide:(bool)hide{
    
        hideStatusBar = hide;
        if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
            [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
        }
    }
    -(bool)prefersStatusBarHidden{
        return hideStatusBar;
    }
    

    调用者:

    [self statusBarShouldHide:true];
    

    【讨论】:

      【解决方案3】:

      如果您想以编程方式执行此操作 尝试这个。

      重写函数

      -(BOOL) prefersStatusBarHidden {
          return needHideStatusBar;
      }
      
      -(IBAction) checkStatus {
      
          // do your judgment here 
      
          needHideStatusBar = YES;
          if ([self 
              respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
              [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-29
        • 2014-11-29
        • 2014-01-29
        • 2017-03-20
        • 2013-11-12
        相关资源
        最近更新 更多