2009-09-15 51 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會縮小,這使得它看起來像被剪裁。