在App Delegate中将tab控制器设置为root控制器,而无需实例化(重载)的方法是通过使用Storyboard来实现。
application(_:didFinishLaunchingWithOptions:)
方法。UIStoryboard
的instantiateInitialViewController()
方法来实例化Storyboard中的初始视图控制器。func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// 实例化Storyboard中的初始视图控制器
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateInitialViewController()
// 将初始视图控制器设置为root控制器
window?.rootViewController = initialViewController
window?.makeKeyAndVisible()
return true
}
在上述代码中,我们首先通过UIStoryboard
的init(name:bundle:)
方法来获取到Storyboard对象,其中name
参数为Storyboard文件的名称,bundle
参数为Bundle对象,默认为nil表示使用主Bundle。
然后,通过instantiateInitialViewController()
方法来实例化Storyboard中的初始视图控制器,并将其赋值给initialViewController
常量。
最后,将initialViewController
设置为window
的rootViewController
,并调用makeKeyAndVisible()
方法来显示窗口。
这样,就可以在App Delegate中将tab控制器设置为root控制器,而无需实例化(重载)。
领取专属 10元无门槛券
手把手带您无忧上云