我试图将导航栏放置在屏幕顶部的下方。iPhone:将UINavigationBar向下移动?
我试过在viewWillAppear
如下:
self.navigationController.view.frame = CGRectMake(0.0, 54.0, 320.0, 426.0);
self.navigationController.navigationBar.frame = CGRectMake(0.0, 0.0, 320.0, 44.0);
的问题是它只是似乎工作第一次被显示的视图。如果您转到其他选项卡,并返回,导航栏位于屏幕的顶部。当iPhone旋转时也会发生这种情况。
我应该试图调整导航控制器框架,还是应该尝试将导航控制器添加到屏幕顶部下方的另一个视图?
如何使用Interface Builder来做到这一点?我似乎可以将导航栏拖到视图中的任何位置。我不确定是否可以将导航控制器挂钩。 – 2010-11-02 21:12:52
如果我在IB中使用UINavigationController,它只会将它放在视图的顶部。 从UINavigationController的类参考: @property(非原子,只读)UINavigationBar的*的导航栏 讨论 是允许的修改barStyle或导航栏的半透明特性,但必须从未直接改变它的帧,界限或阿尔法值。要显示或隐藏导航栏,您应该始终通过导航控制器更改其navigationBarHidden属性或调用setNavigationBarHidden:animated:方法来完成此操作。 – 2010-11-02 21:15:20
我最终使用界面生成器来设置带有图像的视图,并在选项卡栏控制器中使用导航控制器导航栏。现在,当我在代码中推入另一个视图时,我错过了图像和导航栏。 – 2010-11-04 02:26:14