【问题标题】:Use a UIScrollView with 3 touches not one使用 3 次触摸而不是一次的 UIScrollView
【发布时间】:2011-01-12 15:22:55
【问题描述】:

我想知道是否有某种方法可以在 UIScrollView 中使用三点触控。我最终想要的是让 UIScrollView 只被传递一个 UITouch (或者至少认为它只有一个触摸),但是有三个触摸。我想使用让我们说中指或找到三个触摸的平均值 (x , y) 并将 (x , y) 用作发送到 UIScrollView 的一次触摸。如果有人知道或知道我如何完成此操作,请尽可能上传一些代码。

【问题讨论】:

  • UIScrollView 类被编写为用一根手指滚动并用两根手指缩放。我认为不可能改变这种行为。您的要求可能需要您编写自己的自定义滚动视图实现来获得所需的行为。

标签: iphone uiscrollview uitouch


【解决方案1】:

如果您将三个手指放在下方,UIScrollView 将不会滚动,因此您不必担心禁用默认行为。要用三个手指滚动它,用正常的触摸功能做你疯狂的数学计算,然后用- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated 自动滚动。

【讨论】:

  • 在 ipad 上,三点触控默认滚动一个 UIScrollView。
【解决方案2】:

您可以通过继承UIScrollView 来实现您的想法,然后在touchedBegan/Moved/Ended 中实现不同的行为,修改触摸并将它们传递给超类(如果需要)。

我个人认为你不应该引入复杂的手势。大多数人已经遇到了两个手指手势的问题。我花了一年的时间才发现 Maps.app 中的两个手指点击也可以进行缩放。 (也许我很笨)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多