我有一个具有以下布局的故事板。
我推4& 5,导航控制器2. 5,当按下时隐藏底栏,当6看到因为它的标签栏项目被选中,视图控制器6上的标题设置在导航栏中不可见
我的问题是,从界面构建器(XCode5)设置它的最佳方法是什么?
我还尝试添加一个导航项来查看控制器6并在那里设置标题,但这没有效果。
在写这篇文章的同时,我意识到视图控制器6永远不会被推到导航控制器堆栈上,这就是它没有导航项目的原因。当我意识到在视图控制器3上设置导航项产生我期望的效果时,我正要放弃这个问题。更改为不同选项卡时,切换导航栏标题。
这当然是因为它们是完全不同的导航控制器。反正用我的结构来模拟这种行为吗?如果没有,你能建议另一种方法吗?
答案 0 :(得分:4)
您不应该将标签栏控制器推入导航控制器。
pushViewController:animated:的UINavigationBar类引用说:
<强>参数强>
的viewController
推入堆栈的视图控制器。此对象不能是标签栏控制器的实例,并且它必须不在导航堆栈中。
我建议您以模式方式呈现标签栏控制器而不是推送它,您将解决这两个问题。要添加带标题的导航栏,请将视图控制器#6嵌入导航控制器中,然后在此标签栏控制器中显示。
所以你的故事板看起来像这样:
UITabBarController
+ (tab) UINavigationController
+ (push) UITableViewController
+ (push) UITableViewController
+ (modal) UITabBarController
+ (tab) UINavigationController
+ (push) UITableViewController (set title)