簡體   English   中英

如何使視圖控制器僅在用戶第一次快速打開應用程序時出現

[英]How to make a view controller only appear the first time a user opens the app in swift

我有兩個問題。

如何檢測用戶第一次打開我的應用程序的時間。

如何以編程方式更改初始視圖控制器,以便在用戶第一次打開應用程序時打開“教程”視圖控制器,並在用戶打開應用程序的所有其他時間打開“主頁”視圖控制器。

我已經創建了我的故事板,我見過必須刪除整個故事板的解決方案,但我不想這樣做,因為它會刪除我以前的所有工作。 如果有一個不刪除整個故事板或刪除故事板而不刪除視圖控制器內的內容的解決方案,那也是可以接受的。

感謝您的任何幫助。

在這種情況下我通常會做什么:

  • 創建看起來像您的啟動屏幕的初始屏幕,並在viewDidAppear確定是否應顯示其他屏幕上的viewDidAppear
  • 以模態方式呈現此屏幕
  • 使用.plist適合存儲一個Bool值,該值表示應用程序是否已啟動,或已完成入職

你必須通過代碼而不是界面構建器來做到這一點。

您在應用程序委托中執行此操作:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        
        let seenTutorial = UserDefaults.standard.bool(forKey: "SEEN-TUTORIAL")
        let rootViewController = seenTutorial ? UIViewController() : UITutorialViewController()
        let bounds = UIScreen.main.bounds
        self.window = UIWindow(frame: bounds)
        self.window?.rootViewController = rootViewController
        self.window?.makeKeyAndVisible()

        return true
    }

每當您覺得更新它的好地方時,在教程控制器中更新您的 UserDefaults:

UserDefaults.standard.set(true, forKey: "SEEN-TUTORIAL")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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