簡體   English   中英

快速將單元格並排放置在集合視圖中

[英]Placing cells in a collection view side by side in swift

默認情況下,集合視圖中的單元格將在它們之間添加空間,以便到達集合視圖的邊界之間。 在我為iPad制作的應用程序中,我需要能夠強制並排放置單元(間距= 0)。 流布局或集合視圖單元中沒有包含任何方法,那么有沒有辦法做到這一點?

您正在尋找的是flowLayout的以下屬性: minimumInterimSpacingminimumLineSpacing如果將它們設置為0,則collectionView中的項目之間將完全沒有間距。

在代碼中,您通常會這樣做(沒有情節提要):

override func loadView() {
    super.loadView()

    //
    // layout
    //

    let layout = UICollectionViewFlowLayout()
    layout.minimumInteritemSpacing =  0
    layout.minimumLineSpacing      = 10

    //
    // collectionView
    //

    self.collectionView = UICollectionView(frame: CGRectZero, collectionViewLayout: layout)
    self.view.addSubview(collectionView)
}

如果要動態設置這些屬性,請實現UICollectionViewFlowLayout的相應方法(也應與Storyboards一起使用)。

class MyViewController: UIViewController,
    UICollectionViewDelegate, 
    UICollectionViewDataSource,
    UICollectionViewDelegateFlowLayout {

    func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat {
        return 0
    }

    func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat {
        return 0
    }

    // the rest of your code

}

如果您使用的是Storyboard,則選擇CollectionViewFlowLayout並將Min Spacing更改為0。

在此處輸入圖片說明

暫無
暫無

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

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