用动画隐藏上方的 CollectionView 单元格(Swift 4)

Posted

技术标签:

【中文标题】用动画隐藏上方的 CollectionView 单元格(Swift 4)【英文标题】:Hide upper CollectionView cells with animation (Swift 4) 【发布时间】:2018-09-22 07:59:12 【问题描述】:

我怎样才能做到这样,当我向下滚动时,顶部单元格不会像我的那样被修剪并用动画隐藏

我的应用:

示例:

我试过VegaScroll,但与描述不符

【问题讨论】:

题外话:那是哪个应用程序? @RakeshaShastri 用于存储折扣卡 我的意思是应用名称。 @RakeshaShastri 还没有出现,但目前为止持卡人 可能是因为您每行有 2 个单元格? 【参考方案1】:

在将布局设置为 Vega 后,您需要使用委托编辑布局

我已经使用此代码实现了这一点。

    //in viewDidLoad  
    let layout1 = VegaScrollFlowLayout()

    collectionView.collectionViewLayout = layout1

然后使用CollectionView布局Delegate

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize 

    let width = collectionView.frame.width / 3 - 1
    return CGSize(width: width, height: width)
   

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

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat 
        return 1.0
   

我没有看到您提供的任何代码,但我假设您像这样覆盖布局。

collectionView.collectionViewLayout = layout
layout.minimumLineSpacing = 20
layout.itemSize = CGSize(width: collectionView.frame.width, height: 87)
layout.sectionInset = UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0)

那是什么导致了问题,请注意上面的解决方案代码每行显示 3 个单元格。

或者您可以简单地通过在 ViewDidLoad 中使用此代码来实现。

    let layout1 = VegaScrollFlowLayout()

       collectionView.collectionViewLayout = layout1
        layout1.minimumLineSpacing = 1
        let width =  Col1.frame.width / 3 - 1
        layout1.itemSize = CGSize(width: width , height: 87)
        layout1.sectionInset = UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0)

【讨论】:

请记住,您需要提供正确的商品尺寸才能使其正常工作

以上是关于用动画隐藏上方的 CollectionView 单元格(Swift 4)的主要内容,如果未能解决你的问题,请参考以下文章

隐藏导航栏会导致其下方和上方的空间

如何在更改uiview的隐藏模式时添加动画?

触摸 CollectionView 时禁用动画?

CollectionView 在动画期间切断单元格

在endEditing之后,UICollectionViewController页脚没有正确地重新定位自己

在 collectionView 中动画化数据的变化