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

Vah*_*agn 2 cocoa ios cocos2d-x cocos2d-x-3.0 ios10

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

San*_*ari 5

使用

applicationWillResignActive(_:)
Run Code Online (Sandbox Code Playgroud)

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

您可以使用

applicationWillEnterForeground(_:)
Run Code Online (Sandbox Code Playgroud)

找出你的应用程序什么时候重新获得焦点.

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

由于这些代表在App上调用,UIApplicationDelegate这通常是你的appDelegate文件,并且大多数时候你希望在单个ViewControllers中而不是在AppDelegate中获得这些事件的通知,你可以随时使用NotificationCenter并添加观察者UIApplicationWillResignActiveNotification

阅读:如何在"func applicationWillResignActive"中访问UIViewController的变量?Swift,iOS xcode

  • @vahagn:请阅读此/sf/ask/634204651/这清楚地提到在通知中心调用applicationWillResignActive下拉 (2认同)