gpt4 book ai didi

ios - Swift iOS -CollectionView 如何将单元格滚动出屏幕

转载 作者:行者123 更新时间:2023-11-28 14:37:29 25 4
gpt4 key购买 nike

我有一个包含 4 个单元格的 collectionView。由于 Collection View 中只有 4 个单元格,因此不会再滚动。

向上滚动时,我想将 4 个单元格滚动到屏幕之外(collectionView 将显示为空)。一旦单元格离开屏幕,我希望滚动停止,我不想永远滚动。向下滚动时,我想将 4 个单元格滚动回场景。

我尝试更改 collectionView.bounds.origincollectionView.contentSize.height 但都不起作用,我仍然无法将 4 个单元格滚动出屏幕.

我总是可以添加透明单元格,但这似乎很麻烦。

完成此任务的合适方法是什么?

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)
}

最佳答案

您可以使用 ScrollView 的 contentInset:

collectionView?.contentInset.bottom = collectionView?.frame.height ?? 0

关于ios - Swift iOS -CollectionView 如何将单元格滚动出屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50777112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com