【问题标题】:How to scale and show next/previous items in a Collection View?如何在收藏视图中缩放和显示下一个/上一个项目?
【发布时间】:2021-12-03 10:39:17
【问题描述】:

我正在处理一个应该如下所示的集合视图:

滚动视图可以工作,但我想让我的集合视图像屏幕截图中那样成为下一个项目的峰值,并且在滚动时它当然会缩放正常大小。

仅启用分页(当然)我无法做到这一点。

感谢大家的帮助!

编辑: 这对我想要实现的目标有所帮助,但它仍然缺乏缩放,并且在滚动时效果不佳。

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
        return -100
    }

【问题讨论】:

    标签: swift uicollectionview uicollectionviewlayout


    【解决方案1】:

    您当然可以使用collectionView 或scrollview 来执行此操作,但是我建议为此使用一些制作精良的外部库。试试看this Library 你也可以用 CocoaPods 安装它,看这里:cocoapods link 我认为它会很好地为您服务。

    如果您想完全靠自己完成此操作,请尝试利用 UICollectionViewDelegate 函数实现 CGAffineTransform 缩放:

        func collectionView(_ collectionView: UICollectionView, willDisplay willDisplayCell: UICollectionViewCell, forItemAt forItemAtIndexPath: IndexPath) {
        guard let cell = willDisplayCell as? YourCell else { return }
        cell.transform = CGAffineTransform(scaleX: 2, y: 2)
    }
    

    【讨论】:

    • 感谢您的建议,但我不想为此使用 pod,如果我能找到任何文档,我想自己创建它。
    • @OğuzhanVarsak 我用一些可能对您有帮助的代码编辑了我之前的回复。它基于我的同事以前的解决方案。他曾经自己做这个功能,但后来由于某种原因转而使用库..
    【解决方案2】:

    如果您想一口气完成所有工作,请转到 Ui 集合视图 delegate.function 并实现 CGAFFineTransform 缩放。

    【讨论】:

    • 有一些示例代码可以分享吗?
    • 是的,示例代码会很有帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 2015-01-12
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多