成品直播源码推荐,TableView/CollectionView 滑动顶部效果优化

发布时间 2023-03-28 14:11:20作者: 云豹科技-苏凌霄

成品直播源码推荐,TableView/CollectionView 滑动顶部效果优化

默认弹簧效果

在使用 UITableView 或者 UICollectionView 时,如果开启弹框效果,下拉是整个内容就会偏移,松手就会自动弹回,最常用的就是我的界面。

 

如果scrolleView背景色和 cell/header 一样就不会产生什么突兀感,但是如果靠近顶部的视图是渐变/图片 或者和背景色差别较大,下拉就会产生突兀感

 

获取 ScrollView 的偏移量

通过代理方法 scrollViewDidScroll(_ scrollView: UIScrollView)可以轻松获取到偏移量。

 


func scrollViewDidScroll(_ scrollView: UIScrollView) {
        let offsetY = scrollView.contentOffset.y
        // 下拉 y 小于 0
        if  offsetY < 0  { //let coll = scrollView as? UICollectionView,
            let index = IndexPath(item: 0, section: Section.baseInfo.rawValue)
            let cell = coll.cellForItem(at: index) as! MineInfoCollectionCell
            cell.updateOffset(offsetY) // 将偏移量传入目标 cell, 进行改变
        }
    }
 

为白色视图顶部和 Cell 顶部添加约束 containerTopCons ,并且将 Cell的裁剪取消

 

在 Cell 代码中进行偏移量赋值

 


class MineInfoCollectionCell: UICollectionViewCell {
    static var cellHeight: CGFloat = 300
    @IBOutlet weak var containerTopCons: NSLayoutConstraint!
    override func awakeFromNib() {
        super.awakeFromNib()
        containerHeigthCons.constant = MineInfoCollectionCell.cellHeight
    }
    
    func updateOffset(_ offset: CGFloat) {
        containerTopCons.constant = offset  // 更新偏移量
    }
}
 

 

将 scrollView 的偏移量转移到 Cell 内部,就可以实现镂空式的效果。

 以上就是成品直播源码推荐,TableView/CollectionView 滑动顶部效果优化, 更多内容欢迎关注之后的文章