我正在重建Instagram,目前正在处理我个人资料的功能。
在Instagram中,我有一个固定在顶部的标题视图,与Instagram不同,下面是一个tableview(而不是集合View)。
我希望当用户在tableview中向下滚动时,标题会被推高并且tableview会占用整个屏幕。
我已经尝试过我在堆栈溢出时发现的所有东西,但似乎没有实现我的目标。
我试过这篇文章中的解决方案 Move a view when scrolling in UITableView
使用代码
var oldContentOffset = CGPoint.zero
let topConstraintRange = (CGFloat(64)..<CGFloat(250))
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let delta = scrollView.contentOffset.y - oldContentOffset.y
//we compress the top view
if delta > 0 && collectionView.frame.size.height > topConstraintRange.lowerBound && scrollView.contentOffset.y > 0 {
collectionView.frame.size.height -= delta
scrollView.contentOffset.y -= delta
}
//we expand the top view
if delta < 0 && collectionView.frame.size.height < topConstraintRange.upperBound && scrollView.contentOffset.y < 0{
collectionView.frame.size.height -= delta
scrollView.contentOffset.y -= delta
}
oldContentOffset = scrollView.contentOffset
}
我只有在用户滚动tableview时才会实现这一点,标题会被推高,但是tableview仍然保持相同的大小。
提前感谢!