使用 Storyboards 以程式設計方式設定初始檢視控制器
Swift 中的 Storyboards 是什麼?
在 Swift 中,Storyboard 是一種工具,它為您提供了一個使用者介面來設計應用程式的使用者介面。它為您提供所有螢幕及其之間連線的視覺化表示。您可以使用 Storyboard 輕鬆地將所有佈局元件連線到您的控制器類中。
什麼是 instantiateViewController(withIdentifier:)?
您可以使用 UIStoryboard 類的 instantiateViewController(withIdentifier:) 方法以程式設計方式設定初始檢視控制器。
此方法將一個識別符號字串作為引數,該字串應與您要設定為初始檢視控制器的檢視控制器的 Storyboard ID 匹配。
示例
以下是如何使用此方法在名為“Main”的 Storyboard 中設定初始檢視控制器的示例:
import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // creating UIStoryboard object and initial view controller. let storyboard = UIStoryboard(name: "Main", bundle: nil) let initialController = storyboard.instantiateViewController(withIdentifier: "TestController") self.window = UIWindow(frame: UIScreen.main.bounds) self.window?.rootViewController = initialController self.window?.makeKeyAndVisible() return true } }
在通常情況下,我們將在 AppDelegate 的方法中進行設定以設定初始控制器:
確保您使用的 Storyboard ID 在您要設定為初始檢視控制器的檢視控制器的“Identity Inspector”中設定。
結論
Xcode 也允許您使用 Storyboard 設定初始檢視控制器。您可以檢查您想要的初始控制器。但是您可以以程式設計方式設定初始檢視控制器。為此,您可以在 AppDelegate 的函式(即 didFinishLaunchingWithOptions())中編寫一些程式碼。此方法在您第一次開啟應用程式時呼叫。
在此方法中,您可以使用 UIStoryboard 類的 instantiateViewController(withIdentifier:) 方法建立 Storyboard 上設計的所需檢視控制器的物件。之後,您可以將此物件設定為視窗物件的根檢視控制器。
需要注意的是,當您從 Storyboard 初始化檢視控制器時,必須傳遞正確的 Storyboard ID。
廣告