2014-11-04 141 views
0

有什麼方法可以爲UIViewControllers設置邊距或約束條件嗎?設置UIViewController的邊距/約束條件

我有這樣的結構

UIWindow 
- UINavigationController 
    - UICollectionView 

我想佈局,使UINavigationController的不使用UICollectionView狀態欄下方的空間,並在UINavigationController的我的自定義工具欄下未使用的空間。

是否有任何方式來設置視圖控制器的約束(以編程方式)類似於你如何設置視圖?或者其他方式來實現這種行爲?

我的UICollectionView具有不同的背景顏色,並且當前也在狀態欄下設置。

+0

您不能設置控制器限制,只有在視圖上,所以你的問題的解決方案是在設置適當的視圖約束來實現你需要的層次結構。 – Adis 2014-11-04 17:15:38

+0

我將如何去設置約束的意見,使集合視圖,最好也是導航控制器不會被置於狀態欄下? – Runeborg 2014-11-04 18:08:36

回答

0

對於收集視圖(和表視圖以及其他UIScrollView子類),您確實希望它們顯示在導航欄和狀態欄下(如果欄是半透明的),滾動時將看到內容。

你不想要的是內容卡在這些酒吧下,因此無法看到。您可以通過設置滾動視圖的contentInset屬性來完成此操作,以便內容不需要滾動視圖的頂部部分可見。

下面是如何設置的contentInset屬性,因此該內容不會與底部的狀態欄和導航欄在頂部和標籤欄的干擾:

self.collectionView.contentInset = UIEdgeInsetsMake(64.0f, 0.0f, 49.0f, 0.0f);