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



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

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

我正在查看MTStatusBarOverlay库来实现此功能。 相关(堆栈溢出帖子在这里(。 我知道我的应用程序可能会因此而被拒绝,但我的想法是,我不想偏离常态并交叉手指,苹果不会为此跳到我身上。

我的问题是

  1. 如何全天候复制和电池寿命图标? 我是否需要挂钩到事件中,或者是否有可以添加的 UI 元素。
  2. 我这样做的方式是否正确? 在正常状态栏的顶部做一个透明的覆盖层,用蘑菇云覆盖载体图标,而不是完全替换状态栏,会更好吗? 我担心可变长度的载体图标...

当然,选项 3 是我完全忘记了这个想法,并为这种模式制作了某种不同的背景或其他东西,但这似乎很蹩脚:P

不久

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

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