あなたAppDelegate.swiftにこの行を追加してください:
static let kAppDidBecomeActive = "kAppDidBecomeActive"
static let kAppWillResignActive = "kAppWillResignActive"
func applicationDidBecomeActive(application: UIApplication) {
// Your application is now the active one
// Take into account that this method will be called when your application is launched and your timer may not initialized yet
NSNotificationCenter.defaultCenter().postNotificationName("kAppDidBecomeActive", object: nil)
}
func applicationWillResignActive(application: UIApplication) {
// Home button is pressed twice
NSNotificationCenter.defaultCenter().postNotificationName("kAppWillResignActive", object: nil)
}
また、これらの通知にオブザーバーとしてあなたのビューコントローラを設定します。
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(pauseGame), name: AppDelegate.kAppWillResignActive, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(resumeGame), name: AppDelegate.AppDelegate.kAppDidBecomeActive, object: nil)
}
あなたは 'applicationWillResignActive' – Igor
のコードを示してShud私はapplicationWillResiのコードを含んでいます。gnActiveは、以下に書かれているように、セレクタアクションに沿ってnsnotificationを使用しています。func viewDidLoad(){ super.viewDidLoad() //ゲームを一時停止するホームボタンを2回タップします。 NSNotificationCenter.defaultCenter()addObserver。(自己、 セレクタ:#selector(ViewController.pauseGame)、 名:UIApplicationWillResignActiveNotification、オブジェクト:なし) }ポーズゲームFUNC、AM発信者timer.invalidate(内側) –