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指定しないとダメということなんだろうけど、まだよくわからん!
セルサイズをframe.width/3にしたから、余白も含めて綺麗に3等分になってる、のかな。
MyPicApp-003