嵌套滚动视图的滚动无法正常工作

Posted

技术标签:

【中文标题】嵌套滚动视图的滚动无法正常工作【英文标题】:Scrolling not working properly for nested scrollviews 【发布时间】:2016-06-14 18:10:12 【问题描述】:

我面临here 提到的类似问题。但是这里给出的解决方案是在内部滚动视图滚动时禁用和启用外部滚动视图。这工作正常,但使用外部滚动视图形式内部滚动视图并不好。它使我的代码变坏了。有谁知道我如何在不使用外部滚动视图的情况下实现这一目标

【问题讨论】:

【参考方案1】:

看看this。这是快速版本:

func scrollViewDidScroll(scrollView: UIScrollView) 

var offset: CGPoint = scrollViewA.contentOffset() //or scrollViewB




func setContentOffset(contentOffset: CGPoint, animated: Bool) 

if scrollView == scrollViewA 
    // change offset of B

else 
    // change offset of A 



【讨论】:

我无权访问外部滚动视图实例。 有什么方法可以阻止滑动事件从内部滚动视图传递到外部滚动视图。 取消嵌套滚动视图怎么样?与其在另一个滚动视图中嵌入滚动视图,不如让它们成为父 UIView 的同级兄弟。已回复here。 这是可以做到的。但就我而言,我不能让他们成为兄弟姐妹。由于某种原因,它们必须嵌套。

以上是关于嵌套滚动视图的滚动无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

旋转 4 次后,我的滚动视图正常工作

无法滚动嵌套列表视图

同一视图上的多个手势(从可滚动视图中拖出视图)无法正常工作?

ios中带有表格视图的嵌套滚动视图

新的iOS 11滚动视图contentLayoutGuide无法正常工作

嵌套滚动视图内的 Recyclerview 滚动,但不像普通 Recyclerview 或嵌套滚动视图那样快速滚动