如何在iphone中设置透明状态栏

时间:2011-02-16 13:09:46

标签: iphone coding-style transparent statusbar

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

  1. 灰色
  2. 黑色半透明
  3. mycode的:

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
    

    如何设置透明状态栏?

6 个答案:

答案 0 :(得分:12)

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

更新:

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

执行此操作的最佳方法是使用info.plist。请查看Apple's UIKit pList keys,特别是UIStatusBarStyle(以及值UIStatusBarStyleBlackTranslucent)以使其变为半透明,或者使用UIStatusBarHidden键(完全隐藏它)。

答案 3 :(得分:1)

无法使状态栏透明。只有3种可能的样式(灰色,黑色和黑色半透明),你可以设置,你不能得到酒吧的UIView。

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

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

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

答案 4 :(得分:0)

  1. 在info.plist中设置状态栏样式透明黑色样式(alpha为0.5)。
  2. 在viewcontroller.xib中设置尺寸全屏,状态栏无。
  3. 在viewcontroller.m中,在viewWillAppear中添加以下代码:
  4. self.view.frame = CGRectMake(0,0,320,480);

    这对我有用。

答案 5 :(得分:-6)

您只能使用info.plist

中的Status bar is initially hidden属性隐藏状态栏