【问题标题】:How to set a UITabBarController as rootViewController from Storyboard如何从 Storyboard 将 UITabBarController 设置为 rootViewController
【发布时间】:2020-09-29 15:44:51
【问题描述】:

小问题:

从 Storyboard 开始后,如何启动 UITabBarController 并将其设置为我的应用程序的 rootViewController?

长问题:

我不是 swift 专家,但我从一开始就设法使用 XIB 创建了一个完整的应用程序。现在我需要我的应用程序以 Storyboard 开始,作为从 2020 年 1 月 7 日起将更新发布到应用程序商店的新要求,但我从未使用它来构建我的视图。修改我的应用程序以将 Storyboard 作为入口点很容易,但问题是我今天的初始视图是 TabController,我不知道如何从初始 Storyboard 导航到 TabController。

我的 AppDelegate 今天的工作方式如下:

var window: UIWindow?

func application(_application: UIApplication, didFinishLauchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    self.window = UIWindow(frame: UIScreen.main.bounds)
    // initiate UINavigationControllers and UITabBarController here...

    tabController.viewController = [nav1, nav2, nav3, nav4]
    tabController.modalPresentationStyle = .fullScreen
    self.window!.rootViewController = tabController
    self.window!.makeKeyAndVisible()

}

在没有显示我的 TabBar 的情况下显示我的 Storyboard 后,我的所有尝试都以白屏结束。

其中一个尝试是这样的:

override func loadView() {
    super.loadView()
    // initiate tabController the same way I did in the AppDelegate
    UIApplication.shared.keyWindow?.rootViewController = tabController
}

【问题讨论】:

    标签: ios swift storyboard xib


    【解决方案1】:

    检查它的值“是初始视图控制器”。

    【讨论】:

    • 是的,我的故事板https://i.imgur.com/CTeEdvU.png 没有问题,而且我可以在 lauch 之后看到它,问题是自动导航到我的 tabBar 视图,这不是故事板。正如我所说,我对故事板不熟悉,我的整个应用程序都是用 xib 制作的,并使用 pushViewController 方法导航。
    • 如果设置为初始视图控制器。您可以从func application(_application: UIApplication, didFinishLauchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool 删除代码
    • 你说得对,它可以工作并显示我设计的故事板(一个简单的屏幕,中间有一个文本),但我真正想要的是用这个故事板启动我的应用程序(作为不断更新的请求2020 年 6 月 30 日之后在 appstore 上的应用程序)并继续使用我已经设计好的 tabBar,它的 viewControllers 是在 xib 中制作的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-28
    • 2012-10-28
    • 2014-01-13
    • 1970-01-01
    相关资源
    最近更新 更多