gpt4 book ai didi

ios - 选项卡栏子 viewWillAppear 不会触发,添加 NavigationController 会提供两个导航栏

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:13:12 24 4
gpt4 key购买 nike

我正在尝试完成我的第一个 iOS 应用程序。

我的 Storyboard布局是这样的:

Navigation Controller
'-> View Controller
'->Tab Bar Controller
|->Table View Controller
| '->View Controller
'->Table View Controller
'->View Controller

所有 View 都是通过推送(非模态)显示的,因此需要返回导航。问题是当我从最后一个 View 返回到 TableView 时,viewWillAppear 不会触发。所以我添加了导航 Controller :

Navigation Controller
'-> View Controller
'->Tab Bar Controller
|->Navigation Controller
| '->Table View Controller
| '->View Controller*
'->Navigation Controller
'->Table View Controller
'->View Controller

这解决了 viewWillAppear 问题,但标签栏仍然显示在底部,我在表格 View 和最终 View 中得到一个额外的导航栏(见下文 - 对应于上面的 *)。按顶部的“<返回”按钮返回第一个 View (错误),按第二个“<返回”按钮返回表格 View (正确)

问题:

  • 我在这里做错了什么???
  • 什么时候 View 应该有 NavigationController?整个 Storyboard 都可以有一个吗?还是我应该有更多。
  • 如果我将导航 Controller 放在标签栏之后,底部标签栏就会保留。我该如何摆脱它?
  • 我应该避免标签栏吗?

enter image description here

更新:

这很奇怪。如果我重新创建 Storyboard,我可以将其缩小到初始 View Controller /导航 Controller 对。不知道可能是什么问题,因为将它们换成一对新的就解决了。

最佳答案

  • 来自 Apple UITabbarController Docs

    You can use navigation controllers or custom view controllers as the root view controller for a tab. If the root view controller is a navigation controller, the tab bar controller makes further adjustments to the size of the displayed navigation content so that it does not overlap the tab bar.

  • TableVC 的
  • ViewWillAppear 应该被调用,无论它嵌入在 navigationController 中。

  • 是否避免标签栏和 Storyboard的单一导航 Controller 与应用设计相关。

关于ios - 选项卡栏子 viewWillAppear 不会触发,添加 NavigationController 会提供两个导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32042384/

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