成品直播源码推荐,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 滑动顶部效果优化, 更多内容欢迎关注之后的文章
标签:TableView,顶部,CollectionView,偏移量,cell,源码,let,scrollView From: https://www.cnblogs.com/yunbaomengnan/p/17264952.html