怠慢プログラマーの備忘録

怠慢でナマケモノなプログラマーの備忘録です。

【Swift】CollectionViewにCustomCellを連携させる[備忘録]

CollectionViewにUICollectionViewCellのCustomCellを適用する方法 f:id:ka0in:20180515013325p:plain

override func viewDidLoad() {
        super.viewDidLoad()
        self.setSearchController()
        self.collectionView.dataSource = self
        self.collectionView.delegate = self
        collectionView.register(UINib(nibName: "CategoryCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "CategoryCollectionViewCellID")
    }
extension ViewController: UICollectionViewDataSource {
    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 18
    }

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

また、Cellのサイズを動的に変更する場合。

extension ViewController: UICollectionViewDelegateFlowLayout {
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: self.view.frame.size.width / 3.1, height: self.view.frame.size.width / 3.1)
    }
}

[改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)

[改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)