2017-09-04 91 views
2

在iOS 10设备上的cocos2dx项目中,如果通知中心被刷下然后向上,则会发生巨大的帧速下降。结果,当动画重新开始时,将其运动依赖于德耳塔t的元素移动到无效位置。它在我看来,操作系统是把应用程序在某种背景模式,但没有调用applicationDidEnterBackground。 当通知中心被向下/向上滑动时,是否有办法接收事件?如何检测通知中心是否已打开

回答

5

使用

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

+0

谢谢你的答案。 因此,在iOS10上刷新通知中心时,肯定会调用applicationWillResignActive? – Vahagn

+0

@vahagn:从逻辑上说,我认为iOS 10中没有任何特别的变化。我已经使用这些来处理接收语音通话场景的设备。所以应该使用这个以及 –

+2

@vahagn:阅读此https://stackoverflow.com/questions/9060066/sleep-mode-vs-notification-center-open这明确提到applicationWillResignActive被通知中心下拉 –

相关问题