簡體   English   中英

使用節的UICollectionView在單元格之間留下間隙

[英]UICollectionView using sections leaves a gap between cells

我正在使用UICollectionView來顯示幾個數據部分。 這些部分具有固定數量的項目。 我希望所有項目都以連續網格顯示。

現在我以水平方向完成此任務: 在此輸入圖像描述

但在縱向上,這留下了很大的差距: 在此輸入圖像描述

我想解決這些部分之間的差距,因為它很丑陋並且不屬於那里。 我很樂意使用自定義的FlowLayout,但我找不到一個能指向正確方向的教程(我發現了幾個,但沒有一個真正觸及這個問題。)

任何人都可以幫我解決這個問題,或者至少指出我正確的方向?

PS:我已經實現了部分,因為我正在加載數據。 目前使用1部分不是我的選擇。

更新請求我正在添加用於當前FlowLayout的值。 我在全屏(減去UINavigationBar)UICollectionView上使用標准的水平流布局,每個部分有21個項目。

  • 滾動方向:水平
  • 細胞大小:248,196
  • 頁眉/頁腳大小:無
  • 細胞的最小間距:10
  • 線的最小間距:10
  • 部分插圖:20,20,10,10

像這樣使用

它將解決Gap問題

UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc] init];

layout.minimumInteritemSpacing = 0;
layout.minimumLineSpacing = 2;

要刪除這些間隙,您需要創建自定義布局,作為集合視圖的布局。 此類將為UICollectionViewFlowLayout的子類。

然后,您可以覆蓋以下兩種方法,並可以根據需要創建自己的自定義布局。

  - (NSArray*)layoutAttributesForElementsInRect:(CGRect)rect
  - (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)path

UICollectionViewLayoutAttributes是一個處理單元格位置,框架,Zindex等的類

您還可以使用以下屬性。

 collectionView:layout:minimumInteritemSpacingForSectionAtIndex:
 collectionView:layout:minimumLineSpacingForSectionAtIndex:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM