【问题标题】:Getting current iOS 7 statusbar style获取当前的 iOS 7 状态栏样式
【发布时间】:2013-10-21 06:44:45
【问题描述】:

大家好! iOS 7 以许多不那么有趣和不那么记录的“功能”欢迎我们,尤其是在外观定制方面。我的问题如下:

我在我的应用程序 plist 中将“查看基于控制器的状态栏外观”设置为“是”,现在如何以编程方式获取当前状态栏样式? 类似的旧代码

[UIApplication sharedApplication].statusBarStyle

总是返回 UIStatusBarStyleDefault 忽略来自 viewcontroller 的样式。

为了防止将来产生误解:我无意让 statusBarStyle 属性正常工作,我正在寻找打开“基于控制器的状态栏外观”的新方法。请不要“建议”将其关闭。

【问题讨论】:

    标签: ios uikit ios7 statusbar


    【解决方案1】:

    试试这个..

     UIStatusBarStyle style=[[UIApplication sharedApplication] statusBarStyle];
    

    【讨论】:

    • 对不起,但没有区别。再次使用 UIStatusBarStyleDefault 而不是 UIStatusBarStyleLightContent
    • 这对我们有用。 (iOS 8.1+) 当你想显示一个覆盖 UIWindow 但不想改变状态栏样式时非常方便。只需在视图控制器的 preferredStatusBarStyle 覆盖中返回此值即可。
    【解决方案2】:

    找到我的答案...如果基于视图控制器的状态栏外观打开,您应该得到如下样式:

    [[[[UIApplication sharedApplication] keyWindow] rootViewController] preferredStatusBarStyle]
    

    并且您应该考虑诸如导航/标签栏控制器之类的事情。如果你有自己的,你可以做以下事情。

    - (UIStatusBarStyle) preferredStatusBarStyle
    {
        return [[ self selectedViewController] preferredStatusBarStyle];
    }
    

    用于标签栏控制器的子类和

    - (UIStatusBarStyle) preferredStatusBarStyle
    {
        return [[self visibleViewController] preferredStatusBarStyle];
    }
    

    用于标签栏控制器。

    【讨论】:

      【解决方案3】:

      我在使用覆盖UIWindow 时不知道当前哪个视图控制器负责状态栏样式,因此无法使用其他解决方案。对我有用的是

      UIApplication.shared.keyWindow?.rootViewController?
           .childViewControllerForStatusBarStyle.preferredStatusBarStyle
      

      documentation 说什么:

      当系统需要视图控制器用于确定状态栏样式时调用。

      【讨论】:

        【解决方案4】:

        这对我有用,我想使用 presentingViewController 的 StatusBar 样式,

        - (UIStatusBarStyle) preferredStatusBarStyle
        {
            return [self.presentingViewController preferredStatusBarStyle];
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-22
          • 2019-01-22
          • 1970-01-01
          • 2013-08-14
          • 2015-06-04
          • 1970-01-01
          相关资源
          最近更新 更多