2017-09-04 110 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被通知中心下拉 –