Created
June 23, 2020 12:22
-
-
Save fromkk/3e9fbba5b7d95cdfb2dc80747aed879f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// ViewController.swift | |
// TableViewInvalidSample | |
// | |
// Created by Kazuya Ueoka on 2020/06/23. | |
// Copyright © 2020 fromKK. All rights reserved. | |
// | |
import UIKit | |
final class Cell: UICollectionViewCell { | |
override init(frame: CGRect) { | |
super.init(frame: frame) | |
setUp() | |
} | |
required init?(coder: NSCoder) { | |
super.init(coder: coder) | |
setUp() | |
} | |
private lazy var setUp: () -> Void = { | |
textLabel.translatesAutoresizingMaskIntoConstraints = false | |
contentView.addSubview(textLabel) | |
NSLayoutConstraint.activate([ | |
textLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 16), | |
textLabel.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 16), | |
contentView.trailingAnchor.constraint(equalTo: textLabel.trailingAnchor, constant: 16), | |
contentView.bottomAnchor.constraint(equalTo: textLabel.bottomAnchor, constant: 16) | |
]) | |
return {} | |
}() | |
lazy var textLabel: UILabel = { | |
let label = UILabel() | |
label.font = UIFont.systemFont(ofSize: 16) | |
label.textColor = .black | |
return label | |
}() | |
} | |
class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout { | |
override func viewDidLoad() { | |
super.viewDidLoad() | |
collectionView.translatesAutoresizingMaskIntoConstraints = false | |
view.addSubview(collectionView) | |
NSLayoutConstraint.activate([ | |
collectionView.leadingAnchor.constraint(equalTo: view.leadingAnchor), | |
collectionView.topAnchor.constraint(equalTo: view.topAnchor), | |
view.trailingAnchor.constraint(equalTo: collectionView.trailingAnchor), | |
view.bottomAnchor.constraint(equalTo: collectionView.bottomAnchor) | |
]) | |
} | |
private lazy var layout: UICollectionViewFlowLayout = { | |
let layout = UICollectionViewFlowLayout() | |
layout.minimumLineSpacing = 0 | |
layout.minimumInteritemSpacing = 0 | |
layout.scrollDirection = .vertical | |
return layout | |
}() | |
lazy var collectionView: UICollectionView = { | |
let collectionView = UICollectionView(frame: view.bounds, collectionViewLayout: layout) | |
collectionView.backgroundColor = .white | |
collectionView.register(Cell.self, forCellWithReuseIdentifier: "Cell") | |
collectionView.dataSource = self | |
collectionView.delegate = self | |
return collectionView | |
}() | |
func numberOfSections(in collectionView: UICollectionView) -> Int { | |
return 3 | |
} | |
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { | |
return 1 | |
} | |
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { | |
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! Cell | |
cell.textLabel.text = String(format: "%d - %d", indexPath.section, indexPath.item) | |
return cell | |
} | |
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { | |
switch indexPath.section { | |
// case 1: | |
// return .zero | |
default: | |
return CGSize(width: collectionView.bounds.size.width, height: 60) | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment