1

默認情況下,集合視圖中的單元格將在它們之間添加空間,以便在集合視圖的邊框之間伸展。在我爲iPad製作的應用程序中,我需要能夠並排強制單元格(間距= 0)。沒有方法作爲流佈局或集合視圖單元的一部分,所以有沒有辦法可以做到這一點?在swift中將單元格並排放置在集合視圖中

+0

請發佈您的代碼爲collectionview – anhtu

回答

0

如果您使用的故事板,然後選擇CollectionViewFlowLayout和改變間距最小爲0

enter image description here

+0

雖然這是正確的,但它也沒有什麼幫助。 「...並改變它」改變什麼?什麼?你說過什麼(或截圖)是什麼意思? – Fogmeister

+0

@Fogmeister我會更新答案 – Kalpesh

2

你在找什麼是你的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的相應方法(也應與分鏡腳本工作)。

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 

} 
相關問題