2012-10-02 156 views
7

我有一個使用標準FlowLayout類的水平滾動和每個部分中的頁眉和頁腳的CollectionView。UICollectionView:如何在頁腳和頁眉之間添加空格?

現在在頁腳和標題視圖之間(即區段之間)的像素爲零。我想在它們之間增加一點間距,但不能超過第一部分或最後一部分之後。所以我不能只在頁眉和頁腳視圖本身中添加該空間。

我會期待像「interSectionSpacing」,但顯然沒有這樣的設置。有任何想法嗎?

回答

9

所以事實證明,沒有設置。這是我結束了:

我設置我的標題視圖的內容對齊到標題視圖本身的底部,所以它似乎有相同的可見高度,即使我使標題視圖更高比它的內容(自動佈局使這非常簡單)。

然後我設置取決於部分指數UICollectionViewFlowLayout的這種委託方法的標題的高度:


#define kHeaderHeight 42 
#define kInterSectionMargin 8 

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section 
{ 
    if (section == 0) { 
     return CGSizeMake(0, kHeaderHeight); 
    } 
    return CGSizeMake(0, kHeaderHeight + kInterSectionMargin); 
} 

現在有各部分之間的空間不大,但不是第一個部分之前。

+1

你所做的是正確的之前增加空間 - 這正是你應該做的事情。您負責標題視圖。正如你所說的,它的可見內容和「高度」是兩碼事。 – matt

0

您可以在Nib文件中設置頁眉和頁腳之間的間距。轉到「集合視圖」的「大小檢查器」並將標題大小高度設置爲期望值。

+0

我知道你想在這裏做什麼,但也將在第一頭 –

1

你是對的沒有「interSectionSpacing」這樣的東西,但有一些東西接近。

嘗試sectionInset在您的UICollectionViewFlowLayout

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; 
[flowLayout setSectionInset:UIEdgeInsetsMake(top, left, bottom, right)]; 
+0

這指定標題和內容以及內容和頁腳之間的距離。但不在頁腳和標題之間,所以雖然相關,但不是原始海報所需要的 –

相關問題