Ios 如何使用swift从下至上设置集合视图中的项目
我正在制作一个具有固定高度和宽度以及水平滚动方向的集合视图 在开始时,我将有一个单元格,我希望它位于集合视图的右侧,而不是左侧。当更多单元格出现时,我希望它们堆叠在前一个单元格的右侧,如1-2-3 我寻找答案,但所有类似的问题都是针对目标c的 有没有想过我怎么能和斯威夫特一起做Ios 如何使用swift从下至上设置集合视图中的项目,ios,swift,swift3,uicollectionview,Ios,Swift,Swift3,Uicollectionview,我正在制作一个具有固定高度和宽度以及水平滚动方向的集合视图 在开始时,我将有一个单元格,我希望它位于集合视图的右侧,而不是左侧。当更多单元格出现时,我希望它们堆叠在前一个单元格的右侧,如1-2-3 我寻找答案,但所有类似的问题都是针对目标c的 有没有想过我怎么能和斯威夫特一起做 提前感谢。问题是,如果尝试在视图中设置集合视图的contentOffset,则集合视图尚未呈现其项目。因此self.collectionView.contentSize仍然是{0,0}。解决方案是向集合视图的布局询问内容
提前感谢。问题是,如果尝试在视图中设置集合视图的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
}
}