我正在尝试完成我的第一个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问题,但是标签栏仍然显示在底部,我在表格视图和最终视图中得到一个额外的导航栏(见下文 - 对应上面的) . 按下顶部的“<Back”按钮将我带回到第一个视图(错误),按下第二个“<Back”按钮将我带回到表视图(正确)
问题:
-
我在这里做错了什么???
-
视图何时应具有NavigationController?是否可以在整个故事板中使用一个或者我应该有更多 .
-
如果我在标签栏后放置导航控制器,则底部标签栏会保留 . 我怎么摆脱它?
-
我应该避免标签栏吗?
UPDATE:
这很奇怪 . 如果我重新创建故事板,我可以将其缩小到初始视图控制器/导航控制器对 . 不知道可能是什么问题,因为将这些问题换成一对新的解决方案 .
1 回答
无论嵌入在navigationController中的哪一个,都应该调用_VT_
ViewWillAppear
的TableVC .