在我正在处理的iPad应用中,我有'不寻常'视图层次结构:
如果我设置mastercontroller
不显示UINavigationBar
的{{1}},则用户界面很好(仅显示状态栏)。
在我尝试将UINavigationController
推入detailcontroller
之后(这次我希望显示条形图),导航栏在y轴上显示为翻译(框架显示其原点是(0,20)和20是状态栏的高度,对吗?...)
当我回到UINavigationController
时,酒吧仍在那里,翻译过来。这就是我得到的:
关于如何解决这个问题的任何线索?
答案 0 :(得分:2)
问题的根源在于您将控制器层次结构与视图层次结构混合在一起。
假设maincontontroller是一个普通的视图控制器,我会将你的uinavigationcontroller移动到它的兄弟姐妹身上。这样,您无需解决任何问题。
如果UINavigationController没有parentViewController,它基本上假定它在窗口中。
答案 1 :(得分:1)
我找到了解决方案。就像amattn说的那样,我必须简化层次结构,但这不能轻易完成,因为我有限制使顶视图始终可见并且能够旋转。
我们的想法是将UINavigationController子类化,并将视图及其管理放入此子类中。这样,这个新控制器的实例可以直接应用于主窗口,其他控制器可以推入其中。