gpt4 book ai didi

ios - 如何以正确的方式使用导航 Controller 实现标签栏 Controller

转载 作者:行者123 更新时间:2023-11-28 07:20:41 25 4
gpt4 key购买 nike

我正在使用 Storyboard 和 Xcode 6。我的 Storyboard 中有下一个 Controller 和场景:

UINavigationControllerHomeViewController 作为根。 HomeViewController 有一个按钮 Show (e.g. Push) UITabBarControllerUITabBarController 有 4 个 UIViewControllers

但我的问题是,在我显示 UITabBarController 后,4 个 UIViewControllers 中没有导航栏。但我想如果我 Show (e.g. Push) UITabBarController 那么它应该有嵌入式导航 Controller ,它是 Storyboard中的初始 Controller 。我对吗?如果是这样,我该如何在 Storyboard 中设置导航栏,因为我在 Storyboard 中看到的推送标签栏中现在有默认栏事件。我选择了 UIViewController 并将身份检查器中的模拟指标设置为 Top 属性的半透明导航栏,但我认为它应该自动添加到此 Controller 和选项卡栏,而无需其他步骤。

或者我应该为每个将具有 Root View Controller 的选项卡栏项目添加新的导航 Controller 吗?

主要问题是为什么我使用 show(例如 Push)在 Storyboard中看不到导航栏。例如,如果我添加导航 Controller ,然后设置为根 - 选项卡栏 Controller ,那么 Xcode 会自动添加顶部导航栏,但如果队列有一个额外的步骤,就像我的 HomeViewController 一样,顶部导航栏永远不会自动出现。

最佳答案

您好,您需要将选项卡栏中的每个 View Controller 嵌入到它自己的导航 Controller 中。所以流程是这样的(HomeVC 嵌入在它自己的 NavController 中):

                                         / --> `NavController` --> `ViewController1`
| --> `NavController` --> `ViewController2`
`HomeViewController`-->`TabBarController`|--> `NavController` --> `ViewController3`
\--> `NavController` --> `ViewController4`
  1. 转到编辑器 --> 嵌入 --> 标签栏 Controller (或导航 Controller )

How to embed correctly

回答您的问题:

Each tab of a tab bar controller interface is associated with a custom (different [sic]) view controller. When the user selects a specific tab, the tab bar controller displays the root view of the corresponding view controller, replacing any previous views.

因此选项卡的 Root View Controller 必须连接到导航 Controller ;导航 View Controller 必须是下一个内联的,以便 View Controller 继承导航。标签栏将 View 切换到下一个内联的内容。

本文档将帮助概述有关它的更多信息。 https://developer.apple.com/documentation/uikit/uitabbarcontroller

关于ios - 如何以正确的方式使用导航 Controller 实现标签栏 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58241277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com