假设您有两个滚动视图,一个是垂直的,一个是水平的,它们以“加号”模式相交。假设您在加号的中心有一个对象(例如 UIImageView)。如果触摸对象并向上滚动,则希望对象在垂直滚动视图中向上滚动。但是,如果您触摸对象并横向滚动,您希望它在水平滚动视图中滚动。
问题:
对象最初在哪个滚动视图中?还是两者都没有?在检测到哪个滚动视图开始滚动之前,您不知道对象在哪个滚动视图中。
如果垂直滚动视图在顶部,水平滚动视图将不会在滚动视图重叠的中心区域接收触摸。
谁能想到这个问题的任何解决方案?(改变设计不是解决方案)
另一种思考方式是:您有一个 100x100 的瓷砖网格,但您一次只能在屏幕上看到一个 10x10 的网格。您希望能够横向滚动每一行,但也希望能够垂直滚动每一列。显然,在每次新的触摸/滚动开始之前,滚动位置必须锁定到最接近的磁贴大小倍数。但这意味着在任何给定时间,任何图块都可以处于水平或垂直滚动视图中。