使用 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。

更新於: 2023年2月28日

1K+ 閱讀量

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告