簡體   English   中英

uicollectionview 上的兩列

[英]Two columns on an uicollectionview

如何在 UICollectionView 中獲得兩列,它們占據整個空間而沒有任何邊距或間隙,就像我在下面繪制的圖片一樣:在此處輸入圖片說明

我嘗試使用以下代碼:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
    return CGSizeMake(160, 160);
}

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section {
    return 1.0;
}

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section {
    return 1.0;
}

但得到了這個結果:

在此處輸入圖片說明

通過實現UICollectionViewDelegateFlowLayout協議,可以找到很多實現 UICollectionView 布局的方法。

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

應該足以解決這個問題。

您也可以實現 numberOfItems 和 numberOfSections 來指定行數、列數。
或者,您可以將單元格的大小指定為(UICollectionView 的寬度)/(您想要的列數) - 單元格之間的一些偏移
在 cellForItemAtIndexPath 中。
默認情況下,單元格由此計算並相應排列。 只需減小大小,您就會看到多列。 REF1至Ref2

我發現最好的方法是在 Storyboard 或委托方法中,將項目大小設置為 159,如果您願意,可以設置 0.5 或什至更小的間隔。 隨便玩玩

首先在 viewDidLoad 中設置所需的縮進,例如,將填充放在 10

let layout:UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
clnView.collectionViewLayout = layout

然后用這個

func collectionView(collectionView: UICollectionView,
        layout collectionViewLayout: UICollectionViewLayout,
        sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
            //device screen size
            let width = UIScreen.mainScreen().bounds.size.width
            //calculation of cell size
            return CGSize(width: ((width / 2) - 15)   , height: 155)
    }

@jacobsieradzki 我認為您需要對單元格的大小進行一些更改,首先嘗試將它們變小,我認為可能是 160.0 寬度 + 1.0 行間距的 2 個單元格是導致您出現問題的原因。
幾天前,我遵循了 Ray Wenderlich 教程,該教程非常易於理解,並且非常清楚地解釋了 UICollectionView 背后的概念,也在示例項目中,他們正在做類似於您想要實現的事情,這里是鏈接有幫助的案例: CollectionViewTutorial

暫無
暫無

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

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