【发布时间】:2014-06-17 10:02:54
【问题描述】:
我知道如何识别滑动手势,但我不知道如何使它所在的视图随动量向左或向右滑动。 '动量'我的意思是它会在手势结束后继续滑动一段时间,然后逐渐停止。我可以用平移手势移动视图,但视图很长,我需要比平移动作移动得更快更远。视图是否必须在UIScrollView 内?平移操作无需在 scrollView 中即可工作。
编辑:几个 cmets 问我想做什么。我正在开发一个应用程序,该应用程序通过低功耗蓝牙从传感器接收心率数据并以各种方式显示它。所以我在屏幕上有几个小的 UIView,每个都包含一个数据图。这些图仅使用 drawRect 和变换制作(让坐标标签正确定位是迄今为止最难的部分)。一个 UIView 具有每分钟节拍 (bpm) 与时间的关系,另一个具有 bpm 值的直方图,我可能会添加更多。 bpm 与时间图允许以每秒一个值的方式记录两个小时的数据,因此它的宽度为 7200 点。我可能会扩大它。随着每个新值的到达,它被放在右端。在绘图增长到填充 UIView 的整个宽度后,随着每个新值的添加,绘图开始向左移动一个点,因此最新数据始终可见。一些异常发生时会被标记出来,例如早搏和漏拍,这些标记会留在情节上并随之移动。之所以需要滑动和滚动,是因为我希望用户能够向后滑动数据以查看离开屏幕的值。我还需要能够上下平移(或滑动),以防在我尝试将垂直比例适合实际数据值之后值的范围不适合屏幕。所以这就是我想要完成的。我会回去尝试滚动视图。我想我没有让它工作,因为我无法弄清楚 swipeGesture 的去向以及如何使它导致滚动。
【问题讨论】:
-
这似乎是滚动视图的理想情况。你有什么理由不想使用它吗?
-
确实如此。让我们知道您似乎不喜欢
UIScrollView的哪些方面,它完全符合您的要求,并且需要使用最少的代码,我们可以建议如何以不同的方式做事。重新实现操作系统已经完成的工作毫无意义。 -
对于那些说使用滚动视图的人 - 例如,您如何拥有一个较大的背景图像 A,上面有一个较小的图像,然后相对于图像 B 滚动图像 A,而图像 B 保持静止.如果使用滚动视图,A 和 B 不会一起滚动吗?
-
@Sausages:我会将背景图像放在滚动视图后面(而不是滚动视图内部),并使滚动视图背景透明。
-
我不一定需要避免滚动视图。我首先尝试了一个滚动视图,但没有让它工作,然后在一个普通的 UIView 中尝试了一个平移手势,它看起来很简单。根据此处的 cmets 和答案,我想我需要返回滚动视图并使其工作。请参阅我对原始问题的编辑,了解我想要完成的工作。