使用界面生成器将选项卡栏添加到 NavigationController,一点也不直观

Adding a Tab Bar to NavigationController using interface builder, not intuitive at all

我将这个 ViewController 作为根视图控制器。此 VC 嵌入在导航控制器中。所以,导航控制器是初始控制器。

我已经使用这样的应用程序工作了数百万次。

如果我想向我的导航栏添加按钮,我转到导航控制器,打开 TOP BAR 属性 到半透明导航栏,现在我可以向我的视图控制器上的导航栏添加按钮。

但这个应用程序是不同的。我也需要底部的标签栏。所以,我遵循同样的逻辑。我转到导航栏,打开 BOTTOM BAR 属性 到半透明黑色选项卡栏,一个黑色矩形出现在我的视图控制器和 BOOM 的底部,我无法向其添加按钮。相同的逻辑,不同的行为。

如果我尝试向黑色矩形添加标签栏 Xcode 将不会接受。

我想将此选项卡栏添加到视图控制器的底部并使其半透明,以便通过它可以部分看到此控制器的 collectionView。

所以问题是:导航控制器的 BOTTOM BAR 属性 如果不接受将选项卡栏项目拖到其中,它的目的是什么?如何使用这些东西将选项卡栏添加到我的导航控制器或其根视图控制器?或者换句话说:如何将标签栏添加到视图控制器的底部,该视图控制器具有覆盖整个区域的集合视图并使该标签栏半透明,以便我可以看到集合视图的内容通过...

我无法回答第一个问题,但至于第二个问题 - 将 Tab Bar Controller 拖到画布上,就像使用新视图控制器一样。使这个新的 Tab Bar Controller 成为初始视图控制器。按住 CTRL 并从选项卡栏控制器拖动到您想要选项卡栏按钮的任何视图控制器(或导航控制器)。 Select "View Controller" 作为转场类型。该 segue 的选项卡栏按钮将出现在选项卡栏控制器和视图控制器本身的底部,您可以通过单击它并打开身份检查器来更改文本或图像。

UINnavigationController 的底部栏是 UIToolbar,如果显示,导航控制器应自动调整 collectionView(和其他 scrollView)的插入,使内容在您滚动时显示在它们下面。

我自己遇到了向该栏添加元素的问题,我发现的唯一方法是在代码中访问导航控制器的 toolbar 属性 和用你的 UIBarButtoItem 设置 items 属性。当你想制作一个分段的类似控制器的组件时,我建议使用一个带有自定义视图的项目。