2008-12-10 35 views

回答

4

由於UIViewController擁有的視圖會填充其父項的可用空間。它的父代將是UIWindow或由UINavigationControllerUITabBarController之類的東西控制的視圖。它將爲您定位視圖。如果要控制視圖的位置,請將其設置爲由您的UIViewController控制的視圖的子視圖。

+0

xib中的頂層視圖一般不允許指定X,Y。我能想到的最好的理由是因爲他們沒有父母,所以你甚至試圖把它放在裏面? – 2008-12-13 23:24:25

1

我同意這是IB中缺少的功能。對於基本用法,即爲標準視圖控制器中的位置創建單個頂級視圖,當然,不需要設置視圖原點。然而,NIB被設計爲能夠在任意對象圖中保存任意數量的頂級視圖。由於這允許您以任何您認爲合適的方式使用這些視圖,包括以編程方式將它們嵌入到任何其他視圖中,因此在IB中鎖定這些控件是不必要的約束。在一個相關的但有趣的筆記中,如果您將定位視圖移動到頂層,IB本身會記住它的相對位置以用於顯示目的。但是,這個位置在NIB加載後不可用。

1

在Xcode 4.3.2中,您可以在屬性檢查器中選擇size-> freeform。

相關問題