iOS自定义状态栏,仅替换运营商图标

时间:2012-05-16 15:51:08

标签: objective-c ios uikit statusbar uiapplication

我正在为iOS创建一个僵尸准备应用程序,我认为拥有一个类似于飞行模式的“启示模式”会很酷,因为它用一架小飞机取代状态栏载体图标,除非可能有一个小蘑菇云或其他东西?

Apocalypse模式只是我的应用程序中的布尔标志,禁用所有数据连接所需的功能(仅在应用程序内,不使用任何私有API或任何东西......)。如果可能的话,我仍然希望在正常操作期间有时钟,电池寿命,蓝牙图标以及弹出状态栏的任何其他内容。

我正在查看MTStatusBarOverlay库以实现此功能。相关(Stackoverflow post here)。我知道我的应用程序有可能因为这种情况而被拒绝,但我的想法是我不想偏离常规而交叉我的手指Apple没有跳过我吧。

我的问题是

  1. 如何复制时钟和电池寿命图标?我是否需要挂钩事件或是否有我可以添加的UI元素。
  2. 我是以正确的方式来做这件事的吗?如果只是在普通状态栏上方制作一个透明覆盖层,使用蘑菇云覆盖载体图标而不是完全替换状态栏,那会更好吗?我担心可变长度的载体图标......
  3. 当然,选项3是我完全忘记了这个想法并为这种模式制作了某种不同的背景或东西,但这似乎很蹩脚:P

1 个答案:

答案 0 :(得分:2)

我刚才有类似的东西。我创建了一个接受触摸事件的状态栏覆盖,但没有阻止状态栏接收触摸,这对于应用商店接受至关重要。
您可以查看my question and my answer,但请记住它可能不再是实际的,它在iOS4中运行良好,但从未在5上进行过测试。值得一试。

至于叠加本身,我建议将所有内容都覆盖到时钟,其余部分保持透明,它应该可以完成这项工作。