У меня есть collectionView с 4 ячейками.Поскольку в представлении коллекции только 4 ячейки, прокрутка больше не будет.
При прокрутке вверх я хочу прокрутить 4 ячейки за пределами экрана (collectionView отобразится пустым).Когда ячейки выключены, я хочу, чтобы прокрутка прекратилась, я не хочу прокручивать вечно.При прокрутке назад я хочу прокрутить 4 ячейки обратно на сцену.
Я пытался изменить collectionView.bounds.origin
и collectionView.contentSize.height
, но ни одна из них не работала, я все еще не мог прокрутить 4 ячейки сscreen.
Я всегда могу добавить прозрачные ячейки, но это выглядит как хак.
Каков подходящий способ сделать это?
override func viewDidLoad() {
super.viewDidLoad()
let layout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0)
layout.scrollDirection = .vertical
collectionView = UICollectionView(frame: view.frame, collectionViewLayout: layout)
collectionView.delegate = self
collectionView.dataSource = self
collectionView.alwaysBounceVertical = true
collectionView.backgroundColor = .white
collectionView.register(MyCell.self, forCellWithReuseIdentifier: myCell)
view.addSubview(collectionView)
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 4
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: myCell, for: indexPath) as! MyCell
cell.textLabel.text = "Hello"
return cell
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: view.frame.width, height: 44)
}