簡體   English   中英

當應用程序從后台返回時顯示視圖 controller (iOS 13)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM