kujiraxo’s diary

日々の作業メモ。

Swiftで画像アプリ(その4)〜セルサイズ変更

CollectionViewのセルサイズの変更方法を確認。

前回のMyPicApp-002のコードに下記を追加。

class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {

 

    @IBOutlet weak var collectionView: UICollectionView!

    

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

        collectionView.delegate = self

    }

    

    // セルの大きさを指定

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {

        let cellSize: CGFloat = view.frame.size.width/3

        return CGSize(width: cellSize, height: cellSize)

    }

 //以下略

UICollectionViewDelegateやUICollectionViewDelegateFlowLayoutを追加し、下部のfunc内でCGSizeを指定。

やってて詰まったのは、collectionView.delegate=selfを書かないと反映されないところ。

ViewDelegate関係のクラスを追加したんだからself指定しないとダメということなんだろうけど、まだよくわからん!

f:id:kujiraxo:20180712003202p:plain

 セルサイズをframe.width/3にしたから、余白も含めて綺麗に3等分になってる、のかな。

 

MyPicApp-003