【发布时间】:2020-01-09 02:36:20
【问题描述】:
我正在尝试创建类似于 Instagram 个人资料页面的滚动行为,即。顶部的垂直滚动视图(例如名称、头像等),下方是一个图像网格,可以左右平移以显示更多图像集,同时也能够垂直滚动。
为了记录,我已经阅读了大量与此非常相似的帖子,但我没有找到任何解决我在下面提出的滚动问题的帖子。
这是我目前的设置:
注意:绿色滚动视图的宽度和高度等于红色滚动视图的宽度和高度。
这个设置让我大部分时间都在那里,但如果你向上滑动并放开红色滚动视图,它不会触发绿色滚动视图滚动。相反,一旦绿色滚动视图占据了整个屏幕,就无法返回到红色滚动视图,因为它也没有被触发。
当红色滚动视图滚动超过标题的高度时,我通过启用/禁用绿色滚动视图取得了一些成功,但它非常笨拙。
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
let translation = scrollView.panGestureRecognizer.translation(in: scrollView.superview)
var isScrollingDown = translation.y > 0
let offset = scrollView.contentOffset.y
if isScrollingDown, offset <= scrollHeight { //scrollHeight is equal to the height of the header cell
greenScrollView.isScrollEnabled = false
}
else if !isScrollingDown, offset >= scrollHeight {
greenScrollView.isScrollEnabled = true
}
}
这个解决方案是否朝着正确的方向发展,还是有更好的方法来完成我所缺少的?
【问题讨论】:
标签: ios swift uitableview uicollectionview instagram