我们如何检测iOS 7上的控制中心?

时间:2014-05-26 14:25:31

标签: ios ios7 appdelegate notificationcenter control-center

当控制中心出现在iOS 7上时出现问题。基本上,当控制中心出现时会触发applicationDidEnterBackground。

然而,在我的方法中,我想检测它是否只是控制中心的开放或通知中心,因为我会在该状态下以不同的方式对待applicationDidEnterBackground。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:3)

我刚刚发布了一个小UIWindow子类,它正是这样做的。您只需订阅NSNotification并可以对打开控制中心的用户做出反应。 Github上的详细说明和设置:AAWindow

实现这一目标的方法是在UIWindow中使用NSTimer和覆盖sendEvent的组合来接收所有触摸而不阻止它们。因此,您基本上可以接收所有触摸,检查它们是否接近屏幕的下边缘,如果是,则将计时器设置为半秒,如果在此计时器运行期间调用applicationWillResignActive,则几乎可以确定ControlCenter已打开。如果没有状态栏,则时间必须变化,因为此时应用程序处于全屏状态,并且用户最多可以花3秒钟启动控制中心。