如何在集合视图中设置项目从下到上快速

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
      

 

【讨论】:

以上是关于如何在集合视图中设置项目从下到上快速的主要内容,如果未能解决你的问题,请参考以下文章

使用firebase聊天时如何从下到上设置数据

xcode - 从下到上的 TableView 行

Flutter:如何自定义从下到上剪辑图像?

滚动时如何使 UITableView 从下到上显示?

如何使用 C 从下到上读取行?

如何让 tableview 单元格从下到上填充? [关闭]