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