如何检测通知中心是否打开

How can I detect if the notification center was opened

在一个cocos2dx项目中,在iOS 10台设备上,当通知中心向下滑动然后向上滑动时,会发生巨大的帧率下降。结果,当动画恢复 ui 其运动取决于增量 t 的元素被移动到无效位置。在我看来,OS 将应用程序置于某种后台模式,但未调用 applicationDidEnterBackground。 有没有办法在通知中心滑动时收到事件down/up?

使用

applicationWillResignActive(_:)

当您的应用程序离开前台时,将调用上述委托。当您的应用暂时失去焦点时(例如接听电话等),这与调用的委托相同。

您可以使用

applicationWillEnterForeground(_:)

确定您的应用何时重新获得焦点。

阅读:https://developer.apple.com/documentation/uikit/uiapplicationdelegate

因为这些委托是在 App 的 UIApplicationDelegate 上调用的,这通常是您的 appDelegate 文件,而且大多数时候您希望在各个 ViewControllers 中而不是在 AppDelegate 中收到这些事件的通知,您总是可以使用 NotificationCenter 并为 UIApplicationWillResignActiveNotification

添加观察者

阅读:How to access UIViewController's varaibles inside "func applicationWillResignActive"? Swift, iOS xcode