UIScrollView 滚动问题之上的 UICollectionView

Posted

技术标签:

【中文标题】UIScrollView 滚动问题之上的 UICollectionView【英文标题】:UICollectionView on top of UIScrollView scroll issue 【发布时间】:2014-12-14 14:29:07 【问题描述】:

我创建了一个自定义标签栏,它有 5-6 个页面的滚动视图,在其中几个页面中我有 UITableView 或 UICollectionView。我的问题是当我向下滚动集合视图时,它工作正常,但是当它停止并且我尝试再次滚动到顶部或底部时,它会滚动到 UIScrollView 的一侧,完全忽略集合或表格。

有人知道这个问题吗?有人可以帮我解决吗?

提前致谢


我添加了一个图表来显示我在做什么:

【问题讨论】:

你考虑过用 UIPageViewController 代替 UIScrollView 吗? 你的描述说你有一个 UICollectionView 一个 UIScrollView。你是说里面吗? 是的,我的意思是在 UIScrollView 内部。 【参考方案1】:

手势共享响应区域时的坏事 :-) 我们是笨拙的生物,大多数时候,即使我们确定我们完全向上滚动,但我们不是,通常是向右或向左滚动。 有趣的是您的子视图忽略了触摸并且超级视图响应。这需要一些触摸调试。

有一个明显的解决方案,但您不会喜欢 - 将设计完全更改为一个集合,每个集合具有不同的部分。

这不是一个小的变化,可能需要服装布局,所以在你这样做之前做一些调试,并确保你的层次结构中没有子视图由于某种原因阻塞了用户交互。

【讨论】:

以上是关于UIScrollView 滚动问题之上的 UICollectionView的主要内容,如果未能解决你的问题,请参考以下文章

如何将标题固定在仅在 x 维度上滚动的 UIScrollView 之上?

CAGradientLayer 使用 UIScrollView 滚动

UIScrollView 水平滚动不起作用

Swift:UIScrollView 和 UIControl - addTarget | addGestureRecognizer - 没有按预期工作

以编程方式将触摸传递给 UIScrollView 以进行滚动

IOS - 滚动时将 UIView 保持在 UITableView 之上