我有一个具有以下布局的故事板 .
-
TabBarController
-
-
NavigationController
-
-
----> TableViewController
-
----> TableViewController
-
----> TabBarController(在推送时隐藏底栏)
-
------> TableViewContrller(设置 Headers )
我将4和5推到导航控制器2.当按下时5隐藏底栏,当6看到因为它的标签栏项目被选中,视图控制器6上的 Headers 集在导航栏中不可见
我的问题是,从界面构建器(XCode5)设置它的最佳方法是什么?
我还尝试添加一个导航项来查看控制器6并在那里设置 Headers ,但这没有任何效果 .
在写这篇文章的同时,我意识到视图控制器6从未被推到导航控制器堆栈上,这就是它没有导航项目的原因 . 当我意识到在视图控制器3上设置导航项产生我期望的效果时,我正要放弃这个问题 . 更改为不同选项卡时,切换导航栏 Headers .
这当然是因为它们是完全不同的导航控制器 . 反正用我的结构来模拟这种行为吗?如果没有,你能建议另一种方法吗?
1 回答
您不应该将标签栏控制器推入导航控制器 .
pushViewController:animated:的UINavigationBar类引用说:
我建议你以模态方式呈现标签栏控制器,而不是推动它,你将解决这两个问题 . 要添加带 Headers 的导航栏,请将视图控制器#6嵌入导航控制器中,然后在此选项卡栏控制器中显示 .
所以你的故事板看起来像这样: