在Android上,当我编写应用程序时,我需要实现onResume/onPause,以便我的活动转到后台并从前台返回.我已经google了,如果我需要如何为iOS做同样的事情.但我找不到任何有用的东西.你能否告诉我,我需要做些什么来处理我的iOS应用程序进入后台并回到前台?
谢谢.
Pix*_*xel 15
在 Swift 中,您可以使用
NotificationCenter.default.addObserver(self, selector: #selector(onPause), name:
UIApplication.willResignActiveNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(onResume), name:
UIApplication.willEnterForegroundNotification, object: nil)
Run Code Online (Sandbox Code Playgroud)
和
@objc func onPause() {
}
@objc func onResume() {
}
Run Code Online (Sandbox Code Playgroud)
请注意,在实践中,我发现更换UIApplication.willEnterForegroundNotification与UIApplication.didBecomeActiveNotification工作更好,因为onResume如果你点击两次主页按钮,打开iOS版“打开的应用程序”屏幕,然后还引发,然后立即点击应用集中它。
Ear*_*rey 13
有一个专用类接收通常称为XXXApplicationDelegate的事件的代理回调(来自应用程序实例本身).
在那里,您需要为应用程序生命周期实现委托方法.
- (void)applicationWillResignActive:(UIApplication *)application {
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
}
- (void)applicationWillTerminate:(UIApplication *)application {
}
Run Code Online (Sandbox Code Playgroud)
你在找
override func viewWillDisappear(animated: Bool) {}
Run Code Online (Sandbox Code Playgroud)
暂停播放
和
override func viewWillAppear(animated: Bool) {}
Run Code Online (Sandbox Code Playgroud)
对于onResume
其他答案是指应用程序生命周期回调,而不是控制器(Android中的Activity)回调。