【发布时间】:2011-02-16 13:09:45
【问题描述】:
在我的应用程序中,我想将状态栏设置为透明。可以使用三种样式来更改状态栏的样式。
- 灰色
- 黑色
- 黑色半透明
我的代码:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
如何设置透明状态栏?
【问题讨论】:
标签: iphone coding-style transparent statusbar
在我的应用程序中,我想将状态栏设置为透明。可以使用三种样式来更改状态栏的样式。
我的代码:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
如何设置透明状态栏?
【问题讨论】:
标签: iphone coding-style transparent statusbar
此问题的最佳解决方案是在您的视图控制器中设置self.wantsFullScreenLayout = YES;,为您的状态栏设置[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];。
更新:
正如 Mihir Oza 在 cmets 中所说,我的答案旧版本中的 UIStatusBarStyleBlackTranslucent 常量现在已被弃用。请改用UIStatusBarStyleLightContent。
【讨论】:
为info.plist中的全局应用添加状态栏样式:Transparent Black Style (alpha 0.5)。
【讨论】:
最好的方法是使用 info.plist。看看Apple's UIKit pList keys,特别是UIStatusBarStyle(和值UIStatusBarStyleBlackTranslucent)使其半透明,或UIStatusBarHidden 键(完全隐藏它)。
【讨论】:
无法使状态栏透明。只能设置 3 种可能的样式(灰色、黑色和黑色半透明),并且无法获取栏的 UIView。
但是,如果您在其后面有静态内容(即您可以编辑的 UI 的固定部分),您可以将状态栏设置为黑色半透明并在状态栏后面添加一个 50% 的白色图层。这使栏看起来是透明的。
这是我的意思的一个例子。
【讨论】:
self.view.frame = CGRectMake(0,0,320,480);
这对我有用。
【讨论】:
您只能在 info.plist 中使用 Status bar is initially hidden 属性隐藏状态栏
【讨论】: