Swift 使用Storyboards程序化地设置初始视图控制器

Swift 使用Storyboards程序化地设置初始视图控制器

什么是Swift中的Storyboards

在Swift中,Storyboard是一种工具,它为你提供了一个用户界面来设计你的应用程序的UI。它为你提供了一个所有屏幕和它们之间的连接的可视化表示。你可以使用Storyboard轻松地连接你控制器类中的所有布局组件。

什么是instantiateViewController(withIdentifier:)

你可以使用UIStoryboard类的 instantiateViewController(withIdentifier:) 方法来编程设置初始视图控制器。

这个方法需要一个标识符字符串作为参数,它应该与你想设置为初始视图控制器的StoryboardsID相匹配。

例子

下面是一个例子,你可以使用这个方法来设置Storyboards中的初始视图控制器,名字是 “Main”-

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的方法中进行设置,以设置初始控制器-

确保你所使用的StoryboardsID在你想设置为初始视图控制器的身份检查器中被设置。

总结

Xcode允许你使用Storyboard来设置初始视图控制器。你可以检查你想要的初始控制器。但是你可以通过编程来设置初始视图控制器。要做到这一点,你可以在AppDelegate的函数中写一些代码,即 didFinishLaunchingWithOptions()。这个方法在你打开应用程序时第一次被调用。

在这个方法中,你可以使用UIStoryboard类的 instantiateViewController(withIdentifier:) 方法来创建一个在Storyboard上设计的期望的视图控制器对象。之后,你可以将这个对象设置为窗口对象的根视图控制器。

值得注意的是,当你从Storyboard启动一个视图控制器时,你必须传递正确的Storyboard ID

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Swift 示例