如果用户向上滚动控制中心,如何从iOS键盘扩展中检测到?

时间:2015-08-03 10:33:46

标签: ios objective-c swift uikeyboard ios-extensions

我开发了一个iOS键盘扩展,我在键盘上使用滚动手势。有时使用键盘时,我向上滚动控制中心,键盘停止正常工作。有没有办法检测控制中心是否可见或不可见?

1 个答案:

答案 0 :(得分:0)

你不能直接这样做。您可以知道的最多是您的应用已停用,然后再次激活。可能是因为控制中心,可能是因为通知中心,可能是因为有电话进来,可能是因为用户进入了应用程序切换器并又回来了......

以下是您可以尝试的可能工作:

  

UIWindow子类可以启用自适应圆角和放大器等行为。检测控制中心何时打开。这个UIWindow子类可能是你想要的东西。您只需订阅NSNotification并可以对打开控制中心的用户做出反应。 Github上的详细说明和设置

https://github.com/aaronabentheuer/AAWindow

  

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

希望它可以帮助您找出问题的确切解决方案。