2009-09-15 107 views
0

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

+0

可以请你发布你的代码实例化图像并将其添加到视图? – coneybeare 2009-09-15 17:30:40

+0

我在我的视图控制器中有一个UIImageView插座并设置图像。 imageview位于视图顶部的XIB中,起源于包含视图的原点。 – Umark 2009-09-15 23:30:58

回答

0

难道你设置的内容视图太大?在InterfaceBuilder中,您可以在视图的cmd + 1中启用占位符tabbar + navigationbar。这样你就可以将它设计得完全适合。或者,您可以在IB中修复内容框架unter cmd + 3的大小。

1

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

注:由于篇幅 可用于自定义视图的量可以改变 (取决于其他 导航视图大小),自定义视图的 autoresizingMask属性应该是 设置为有一个灵活的宽度和 高度。在显示您的视图之前, 导航控制器 会自动定位并调整它的大小以使其适合可用空间 。

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

什么可能发生的是:

  1. UINavigationController的重新调整,从笔尖文件视图(收缩高度)。
  2. 由于父视图的大小已调整,所以视图中的UIImageView会缩小,这使得它看起来像被剪裁。