![](/img/trans.png)
[英]iOS: Reinitialize the the app from top view controller if it is coming from background
[英]Show view controller when app is returning from background (iOS 13)
每次我的應用程序從后台返回時,我想顯示一個密碼提示(相信我,這很有意義,它並不煩人;它類似於 1Password 所做的)。
所以我需要在每次應用程序進入前台或每 10 分鍾顯示一個特定的 ViewController 。
我嘗試了很多,但我似乎沒有讓它工作。 例如:
func applicationWillResignActive(_ application: UIApplication) {
print("called it")
}
func applicationDidBecomeActive(_ application: UIApplication) {
print("called it")
}
func applicationWillEnterForeground(_ application: UIApplication) {
print("called it")
}
這些方法根本不會在我的設備上被調用。 請注意,該應用程序僅為 iOS 13。 有一些我不明白的變化(場景?)。
有人有想法嗎?
謝謝你。
您應該使用NotificationCenter 。
NotificationCenter.default.addObserver(self, selector: #selector(showThePasswordViewController), name: UIApplication.didBecomeActiveNotification, object: nil)
添加這行代碼后,可能在您的主視圖viewDidLoad()方法中,您還需要一個名為showThePasswordViewController()的 function 或任何您想要調用的名稱。 確保在添加觀察者的同一視圖中像這樣聲明它:
@objc showThePasswordViewController() {
//your code to present it
}
不要被“@objc”氣餒,這並不意味着你需要寫在objective-C中。 還請記住,當您添加觀察者時,您在#selector之后的括號中寫下您的 function 名稱,而在末尾 () 中沒有這樣的括號,如上所示。 希望這會有所幫助,漢斯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.