ios上嵌套滚动视图的可用性问题
Posted
技术标签:
【中文标题】ios上嵌套滚动视图的可用性问题【英文标题】:usability issue with nested scroll views on ios 【发布时间】:2011-07-11 03:05:11 【问题描述】:我有一个启用分页的水平滚动视图,这个滚动视图的子视图是垂直滚动视图。它类似于 ios 主屏幕,但想象一下在每个主屏幕上垂直滚动。
现在,当垂直滚动正在进行时,很难滑动到下一个或上一个屏幕,因为垂直滚动视图显然捕获了事件。即使滑动的角度几乎是水平的,它也不会转到下一个或上一个“页面”。只有滚动完全停止后,才能轻松滑动到下一页或上一页。
不幸的是,由于减速缓慢,用户可能会认为内容停止移动,而实际上内容移动非常缓慢并且即将停止。但是水平滑动被解释为垂直滚动手势,并且滚动速度增加,从用户的角度来看会变得更糟。
我注意到很多人在测试我们的应用程序时遇到了这个问题,我想知道这里是否有人知道解决方案,也许是一种考虑滑动角度以确定哪个滚动视图应该处理事件的方法。谢谢。
【问题讨论】:
【参考方案1】:我建议在触摸开始事件时停止垂直滚动。这就是我见过的大多数应用程序都是这样做的。
【讨论】:
Stefan,我不这么认为——您可以在已经滚动的滚动视图中滑动,如果您朝同一个方向滑动它,它可能会以更快的速度继续滚动。如果您在触摸开始事件上停止滚动,那将不起作用。我们需要计算滑动的方向并确定它是否是水平的,在这种情况下我们停止垂直滚动。有没有比手工做更好的方法来做这件事,并且把许多边缘情况弄错了?以上是关于ios上嵌套滚动视图的可用性问题的主要内容,如果未能解决你的问题,请参考以下文章
iOS 无限深度嵌套的 TableView/UIGestureRecognizer 视图树和 iPAD 需要 2 根手指在 tableview 上滚动