故事板分解
Storyboard breakdown
我有一个巨大的故事板,需要分解成多个部分。现在第一阶段是将介绍步骤和登录步骤分成两个故事板。这些中的任何一个都可能是启动应用程序后的第一页。在我的 部署信息 > 主界面 = Main 中,在这个情节提要中有登录页面,当第一页是介绍页面时我很挣扎,因为我已将它们转移到新的情节提要中。任何建议如何在应用程序的一开始就切换到多个故事板?
一种解决方案是在应用程序启动时在 AppDelegate
内以编程方式执行此操作。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
// your login page logic
let isLoginPage = false
let storyboardName = isLoginPage ? "loginStoryboard" : "introductionStoryboard"
let storyboard = UIStoryboard(name: storyboardName, bundle: Bundle.main)
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.rootViewController = storyboard.instantiateInitialViewController()
self.window?.makeKeyAndVisible()
return true
}
您可以使用特定的 class 处理您应用的所有导航,进一步优化。
您可以在didFinishLaunchingWithOptions
中手动设置rootViewController
self.window?.rootViewController = storyboard.instantiateViewController(withIdentifier: Navigation.NAV_LOGIN)
self.window?.makeKeyAndVisible()
我有一个巨大的故事板,需要分解成多个部分。现在第一阶段是将介绍步骤和登录步骤分成两个故事板。这些中的任何一个都可能是启动应用程序后的第一页。在我的 部署信息 > 主界面 = Main 中,在这个情节提要中有登录页面,当第一页是介绍页面时我很挣扎,因为我已将它们转移到新的情节提要中。任何建议如何在应用程序的一开始就切换到多个故事板?
一种解决方案是在应用程序启动时在 AppDelegate
内以编程方式执行此操作。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
// your login page logic
let isLoginPage = false
let storyboardName = isLoginPage ? "loginStoryboard" : "introductionStoryboard"
let storyboard = UIStoryboard(name: storyboardName, bundle: Bundle.main)
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.rootViewController = storyboard.instantiateInitialViewController()
self.window?.makeKeyAndVisible()
return true
}
您可以使用特定的 class 处理您应用的所有导航,进一步优化。
您可以在didFinishLaunchingWithOptions
rootViewController
self.window?.rootViewController = storyboard.instantiateViewController(withIdentifier: Navigation.NAV_LOGIN)
self.window?.makeKeyAndVisible()