Swift: カスタムCollectionViewセル

  1. StorryboardにCollectionViewを設定
  2. CollectionviewのdataSourceを設定
  3. カスタムセル用のクラスを作成 (xibファイルもセットで)
  4. StorryboardにCollectionViewのセルをタップして、identiferとクラスを設定
  5. コードでCell用に作成したxibファイルをCollectionViewに登録
  6. datasource実装

1 StorryboardにCollectionViewを設定

f:id:ichi6161:20180225182408p:plain

2 CollectionviewのdataSourceを設定

import UIKit

class FirstViewController: UIViewController, UICollectionViewDataSource {


    @IBOutlet weak var collectionView: UICollectionView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        collectionView.detaSource = self
     }

// 以下省略



3 カスタムセル用のクラスファイルを作成する

f:id:ichi6161:20180225182943p:plain

セルにラベルを設定する場合はIBOutletをこのクラスに結びつける。 f:id:ichi6161:20180225184018p:plain

4 StorryboardにCollectionViewのセルをタップして、identiferとクラスを設定

f:id:ichi6161:20180225183107p:plain
f:id:ichi6161:20180225183114p:plain

5. コードでCell用に作成したxibファイルをCollectionViewに登録(xibファイル名とitdentiferが必要)

ViewDidLoadに以下のコードを追加する

self.collectionView.register(UINib (nibName: "CustomCell", bundle: nil), forCellWithReuseIdentifier: "CustomCell")



6. datasource実装

    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int{
        return 10
    }

    
    public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell{
        
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CustomCell", for: indexPath) as! CustomCell
        return cell
    }



f:id:ichi6161:20180225184156p:plain
以上