如何在集合视图中设置项目从下到上快速
Posted
技术标签:
【中文标题】如何在集合视图中设置项目从下到上快速【英文标题】:How to set items in collection view go bottom-to-top with swift 【发布时间】:2017-05-04 09:47:02 【问题描述】:我正在制作一个具有固定高度和宽度以及水平滚动方向的集合视图。
一开始我将有 1 个单元格,我希望它位于集合视图的右侧而不是左侧,当更多单元格出现时,我希望它们堆叠在前一个单元格的右侧,如 1-2 - 3.
我搜索了一个答案,但所有类似的问题都是针对目标 c。
有什么想法我怎么能用 swift 做到这一点?
提前致谢。
【问题讨论】:
【参考方案1】:问题在于,如果您尝试在 viewWillAppear 中设置集合视图的 contentOffset,则集合视图尚未呈现其项目。因此 self.collectionView.contentSize 仍然是 0,0。解决方案是向集合视图的布局询问内容大小。
此外,您需要确保仅在 contentSize 高于集合视图的边界时设置 contentOffset。
func viewWillAppear(_ animated: Bool)
super.viewWillAppear(animated)
let contentSize: CGSize? = collectionView?.collectionViewLayout.collectionViewContentSize
if contentSize?.height > collectionView?.bounds.size.height
let targetContentOffset = CGPoint(x: 0.0, y: (contentSize?.height)! - (collectionView?.bounds.size.height)!)
collectionView?.contentOffset = targetContentOffset
【讨论】:
以上是关于如何在集合视图中设置项目从下到上快速的主要内容,如果未能解决你的问题,请参考以下文章