ios上嵌套滚动视图的可用性问题

Posted

技术标签:

【中文标题】ios上嵌套滚动视图的可用性问题【英文标题】:usability issue with nested scroll views on ios 【发布时间】:2011-07-11 03:05:11 【问题描述】:

我有一个启用分页的水平滚动视图,这个滚动视图的子视图是垂直滚动视图。它类似于 ios 主屏幕,但想象一下在每个主屏幕上垂直滚动。

现在,当垂直滚动正在进行时,很难滑动到下一个或上一个屏幕,因为垂直滚动视图显然捕获了事件。即使滑动的角度几乎是水平的,它也不会转到下一个或上一个“页面”。只有滚动完全停止后,才能轻松滑动到下一页或上一页。

不幸的是,由于减速缓慢,用户可能会认为内容停止移动,而实际上内容移动非常缓慢并且即将停止。但是水平滑动被解释为垂直滚动手势,并且滚动速度增加,从用户的角度来看会变得更糟。

我注意到很多人在测试我们的应用程序时遇到了这个问题,我想知道这里是否有人知道解决方案,也许是一种考虑滑动角度以确定哪个滚动视图应该处理事件的方法。谢谢。

【问题讨论】:

【参考方案1】:

我建议在触摸开始事件时停止垂直滚动。这就是我见过的大多数应用程序都是这样做的。

【讨论】:

Stefan,我不这么认为——您可以在已经滚动的滚动视图中滑动,如果您朝同一个方向滑动它,它可能会以更快的速度继续滚动。如果您在触摸开始事件上停止滚动,那将不起作用。我们需要计算滑动的方向并确定它是否是水平的,在这种情况下我们停止垂直滚动。有没有比手工做更好的方法来做这件事,并且把许多边缘情况弄错了?

以上是关于ios上嵌套滚动视图的可用性问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS 嵌套滚动视图——一直滚动到超级视图?

iOS 无限深度嵌套的 TableView/UIGestureRecognizer 视图树和 iPAD 需要 2 根手指在 tableview 上滚动

iOS嵌套的UIScrollViews没有响应

使用嵌套滚动视图实现 iOS 7 跳板多任务 UI

具有文本字段滚动问题的 iOS 表格视图

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