【问题标题】:How to set the Transparent statusbar in iphone如何在iphone中设置透明状态栏
【发布时间】:2011-02-16 13:09:45
【问题描述】:

在我的应用程序中,我想将状态栏设置为透明。可以使用三种样式来更改状态栏的样式。

  1. 灰色
  2. 黑色
  3. 黑色半透明

我的代码:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];

如何设置透明状态栏?

【问题讨论】:

    标签: iphone coding-style transparent statusbar


    【解决方案1】:

    此问题的最佳解决方案是在您的视图控制器中设置self.wantsFullScreenLayout = YES;,为您的状态栏设置[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

    更新:

    正如 Mihir Oza 在 cmets 中所说,我的答案旧版本中的 UIStatusBarStyleBlackTranslucent 常量现在已被弃用。请改用UIStatusBarStyleLightContent

    【讨论】:

    • "wantsFullScreenLayout" 在使用半透明时很关键
    • 'UIStatusBarStyleBlackTranslucent' 已弃用。使用 UIStatusBarStyleLightContent.
    • setStatusBarStyle 在 iOS 9 中已被弃用。使用 -[UIViewController preferredStatusBarStyle]
    【解决方案2】:

    info.plist中的全局应用添加状态栏样式:Transparent Black Style (alpha 0.5)

    【讨论】:

      【解决方案3】:

      最好的方法是使用 info.plist。看看Apple's UIKit pList keys,特别是UIStatusBarStyle(和值UIStatusBarStyleBlackTranslucent)使其半透明,或UIStatusBarHidden 键(完全隐藏它)。

      【讨论】:

        【解决方案4】:

        无法使状态栏透明。只能设置 3 种可能的样式(灰色、黑色和黑色半透明),并且无法获取栏的 UIView。

        但是,如果您在其后面有静态内容(即您可以编辑的 UI 的固定部分),您可以将状态栏设置为黑色半透明并在状态栏后面添加一个 50% 的白色图层。这使栏看起来是透明的。

        这是我的意思的一个例子。

        See an example http://cl.ly/7WST/Untitled-1.png

        【讨论】:

          【解决方案5】:
          1. 在info.plist中设置状态栏样式透明黑色样式(alpha为0.5)。
          2. 在 viewcontroller.xib 中设置 size 全屏和 状态栏 无。
          3. 在 viewcontroller.m 中,在 viewWillAppear 中添加以下代码:

          self.view.frame = CGRectMake(0,0,320,480);

          这对我有用。

          【讨论】:

            【解决方案6】:

            您只能在 info.plist 中使用 Status bar is initially hidden 属性隐藏状态栏

            【讨论】:

            • @max:我想把状态栏设置为透明..谢谢
            • 是的,我知道。但只能隐藏它或使 UIStatusBarStyleBlackTranslucent
            • @max:如果我这样给出,代码:[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];意思是让状态栏透明啊?
            • 不。我让它半透明(alpha = 0.5)。透明的 alpha = 0.0
            • @max: 如何指定 alpha 值 0.0 以使状态栏透明。
            猜你喜欢
            • 2017-01-12
            • 2018-01-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-02-24
            • 2016-11-06
            • 1970-01-01
            相关资源
            最近更新 更多