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

时间:2017-09-04 08:07:18

标签: ios cocoa cocos2d-x ios10 cocos2d-x-3.0

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

1 个答案:

答案 0 :(得分:5)

使用

applicationWillResignActive(_:)

当你的应用程序离开前台时,上面的委托被调用。这是当你的app暂时失去焦点时调用的同一个委托,比如接听电话等。

您可以使用

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