Swift 在Tableview中滚动时向上推集合标题视图
我正在重建Instagram,目前正在处理我个人资料的功能 与instagram一样,我将标题视图固定在顶部,与instagram不同的是,我将表格视图固定在下方(而不是集合视图) 我希望当用户在tableview中向下滚动时,标题会向上推,tableview会占据整个屏幕 我已经尝试了我在堆栈溢出上发现的一切,但似乎没有达到我的目标 我尝试了这篇文章中的解决方案 使用代码Swift 在Tableview中滚动时向上推集合标题视图,swift,uitableview,uiscrollview,uicollectionview,Swift,Uitableview,Uiscrollview,Uicollectionview,我正在重建Instagram,目前正在处理我个人资料的功能 与instagram一样,我将标题视图固定在顶部,与instagram不同的是,我将表格视图固定在下方(而不是集合视图) 我希望当用户在tableview中向下滚动时,标题会向上推,tableview会占据整个屏幕 我已经尝试了我在堆栈溢出上发现的一切,但似乎没有达到我的目标 我尝试了这篇文章中的解决方案 使用代码 var oldContentOffset = CGPoint.zero let topConstraintRange
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
}
var oldContentOffset=CGPoint.zero
让topConstraintRange=(CGFloat(64)…0&&collectionView.frame.size.height>topConstraintRange.lowerBound&&scrollView.contentOffset.y>0{
collectionView.frame.size.height-=增量
scrollView.contentOffset.y-=增量
}
//我们展开俯视图
如果增量<0&&collectionView.frame.size.height
我只在用户滚动tableview时实现了这一点,页眉会向上推,但tableview的大小保持不变
提前感谢!您可以通过将tableview放入scrollview而不是使用tableview上方的标题来实现这一点。这不是一个好的做法,但很有效。嘿,感谢您的快速回答。我正在尝试最佳代码实践,我被告知我这样做的方式更可取。仍然不知道如何更改根据卷轴显示tableview。您是否尝试过使用scrollviewdidscroll?是的,请查看我的代码我实现了什么您可以通过将tableview放入scrollview而不是使用tableview上方的标题来实现这一点。这不是一个好的做法,但它很有效。嘿,感谢您的快速回答。我正在尝试使用最好的code练习,我被告知我的方式更可取。仍然不知道如何根据滚动来更改tableview。你是否尝试使用scrollviewdidscroll?是的,请查看我的代码我实现了什么