我正在尝试完成我的第一个iOS应用程序。
我的故事板布局是这样的:
Navigation Controller
'-> View Controller
'->Tab Bar Controller
|->Table View Controller
| '->View Controller
'->Table View Controller
'->View Controller
所有视图都以推送(非模态)显示,因此需要返回导航。问题是当我从最后一个View返回到Table View时,viewWillAppear没有触发。所以我添加了导航控制器:
Navigation Controller
'-> View Controller
'->Tab Bar Controller
|->Navigation Controller
| '->Table View Controller
| '->View Controller*
'->Navigation Controller
'->Table View Controller
'->View Controller
这修复了viewWillAppear问题,但是标签栏仍然显示在底部,我在表格视图和最终视图中得到一个额外的导航栏(见下文 - 对应*上面的*)。按顶部"<回到"按钮将我带回到第一个视图(错误),按下第二个"<回到"按钮带我回到表格视图(正确)
问题:
更新
这很奇怪。如果我重新创建故事板,我可以将其缩小到初始视图控制器/导航控制器对。不知道可能是什么问题,因为将这些问题换成新的一对解决了它。
答案 0 :(得分:1)
来自Apple UITabbarController Docs
您可以使用导航控制器或自定义视图控制器作为选项卡的根视图控制器。如果根视图控制器是导航控制器,则选项卡栏控制器会进一步调整显示的导航内容的大小,使其不与选项卡栏重叠。
ViewWillAppear
的TableVC。
避免使用标签栏和故事板的单个导航控制器与应用程序设计相关。