【问题标题】:Relationship between Push Segues, Navigation controllers, and Tool/Nav BarsPush Segues、导航控制器和工具/导航栏之间的关系
【发布时间】:2023-03-10 14:15:01
【问题描述】:

所以上面我有一张我当前故事板的图片,我有几个问题要澄清我的理解:

1)当我从我的第一个 VC 到我的第二个 VC 执行 push segue 方式时,我是否正确假设我的第二个 VC 将位于堆栈顶部?

2) 是否有任何理由在我的第二个 VC 中嵌入另一个导航控制器?或者它会是多余的。

3) 因为我希望我的导航和工具栏在我的第二个 VC 上显示,当推送 segue 发生时,我将顶部和底部栏都设置为半透明,有没有更好的方法来做到这一点?

4) 如何访问第二个 VC 的底部工具栏?我知道我可以通过self.navigationController?.navigationBar 访问导航栏,但我似乎找不到底部工具栏的方法。

【问题讨论】:

    标签: swift uinavigationcontroller uinavigationbar segue uitoolbar


    【解决方案1】:
    1. 是的
    2. 这可能是多余的。它可能作为子视图控制器有用,但这不太可能,并且可能会在未来导致意想不到的事情。
    3. 没关系(除非它不工作/对用户来说看起来正确)
    4. 我明白为什么现在是 Q3。例如,该选项适用于视图控制器位于选项卡栏控制器内的情况,并用于帮助分配可用于布局的空间。如果您想在视图上显式添加工具栏,则应显式将其添加为子视图。

    【讨论】:

    • 您能否澄清一下使导航栏和工具栏半透明的功能?我对这个概念仍然有些模糊,这样做的目的是什么?还有一种方法可以更改在 segue 发生时推送的导航栏我将如何访问它?
    • 它只是在情节提要中设置了您希望它们存在的位置,因此您可以查看可用空间并添加条形按钮。但是,如果容器没有创建它们,那么它们实际上就不会在那里被使用。这很方便。
    • 哦对了,只是我们在设计的时候看看如何布局UI,但它根本不影响最终产品吗?
    • 如果你在里面放了一些东西,比如你的取消或加号栏按钮,那么它可以 - 但它取决于容器以及包含的视图控制器到底会发生什么
    • 所以导航控制器有一个工具栏和一个导航栏,对于导航控制器数组中的所有 VC,它们都不会改变?我们能够在堆栈上的 VC 中制作自己的特定工具/导航栏的唯一方法是将这些栏添加到子视图中?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2013-12-27
    相关资源
    最近更新 更多