导航栏超出了我视图的顶部

时间:2009-09-15 17:18:35

标签: iphone image navigation uinavigationbar

我有一个带标签栏控制器和导航控制器的应用程序。在导航控制器的其中一个子内容视图中,我在顶部有一个图像视图,在底部有一些按钮。问题是导航栏遮挡了图像视图的顶部。我的内容视图是从NIB文件加载的,图像是在运行时设置的。奇怪的是,在另一个子视图中,我有一个表格视图,并且显示正确。

2 个答案:

答案 0 :(得分:1)

首先,确保在视图中正确设置了autoresizingMask(请参阅尺寸检查器中的自动调整设置,CMD + 3)。 UINavigationController overview at iPhone Dev Center说:

  注意:因为空间量大   可用于自定义视图可能会有所不同   (取决于另一个的大小   导航视图),您的自定义视图   autoresizingMask属性应该是   设置为具有灵活的宽度和   高度。在显示您的视图之前,   导航控制器   自动定位和调整大小   以适应可用空间。

然后,确保imageview上的自动调整设置未设置为灵活高度。

可能发生的事情是:

  1. UINavigationController从nib文件调整视图大小(缩小高度)。
  2. 视图中的UIImageView按比例缩小,因为父视图已调整大小,这使其看起来像是被裁剪的。

答案 1 :(得分:0)

您是否将内容视图设置得过大?在InterfaceBuilder中,您可以在视图的cmd + 1中启用占位符选项卡栏+导航栏。这样你就可以将它设计得恰到好处。或者,您可以在IB中修复cmd + 3内容框架的大小。