iOS7 - 特定颜色的状态栏

3
有没有可能将状态栏文本和电池图标更改为特定的颜色,比如红色?
我读了一些关于这个问题的文章,建议我使用setStatusBarStyle。但我没有选项来设置特定的颜色。
那么,这是否可行?提前感谢!
编辑:
我试图在苹果开发者论坛上找到答案,但不幸的是我找不到。iOS7中UIStatusBar可用的颜色是黑色和白色。
也许你可以尝试下面Sulthan的帖子,但对我来说似乎不容易。看起来需要很多努力才能简单地改变颜色。所以我认为这不可能,至少不是容易的方法。
无论如何,感谢你的帮助 :)

我认为这是不可能的,因为它与iOS有关,而不是与您的应用程序有关。 在iOS(7)上,您可以选择白色文本颜色或黑色文本颜色... - KIDdAe
1个回答

6

警告 - 一般来说,更改颜色不会得到App Store 审核员的好评。

  1. 您可以隐藏默认状态栏并添加自己的状态栏。这需要显示时间、电池信息、网络状态等。这不是一个不可能的解决方案,实现起来也不难,但需要时间,并且在所有设备上都不会完全像本机状态栏那样。

  2. 您可以在白色状态栏上方显示部分透明的视图,并以此改变颜色。但是,它也会改变状态栏背景的颜色。

  3. 您可以使用未记录的API。状态栏是系统窗口(不是由[UIApplication windows]返回的),但有办法获得它的访问权限(例如,请参见Window Registry,以获取对所有应用程序窗口的访问权限)。然后,您可以使用反射(obj.c运行时)来检查状态栏上可用的方法,并尝试更改颜色(请参见UIStatusBarUIStatusBarWindow)。还可以将本机状态栏绘制成图像,用彩色像素替换白色像素,然后在原始状态栏上绘制结果图像。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接