簡體   English   中英

如何以編程方式在 AppDelegate 中設置初始視圖控制器?

[英]How to set the Initial viewController in AppDelegate Programatically?

我知道這個問題被問了幾次,但我嘗試了所有的解決方案,但沒有一個對我有用。

我目前正在處理一個 iOS 項目並遇到了一個問題。

我正在構建一個在第一次啟動時需要一些個人信息的應用程序。 因此,我使用了一個NavigationController ,我將其設置為 Storyboard 中的Initial View Controller

現在我想檢查我的 AppDelegate 用戶是否已經輸入了個人數據。 在這種情況下,我創建了一個User Defaults KV Pair called "onboarding" of type Bool

如果 Value 為true ,我想將初始視圖控制器更改為主TabBarController ,應用程序的其余部分使用。

我希望這張圖片可以說明我上面的意思: 在此處輸入圖片說明

我希望你能想出解決這個問題的方法。

非常感謝您的幫助。 祝你有美好的一天!

1) 打開你的AppDelegate.swift並添加屬性

var window: UIWindow?

2) 在

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool

a) 初始化這個窗口:

window = UIWindow(frame: UIScreen.main.bounds)

b) 將您需要的 UIViewController 設置為windowrootViewController屬性:

window?.rootViewController = myViewController

c) 使此窗口鍵可見:

window?.makeKeyAndVisible()

就這些。 並且不要忘記從目標設置中刪除您的故事板:從目標中刪除故事板

希望它的幫助。

暫無
暫無

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

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