【问题标题】:iPhone - Track three touchesiPhone - 跟踪三点触控
【发布时间】:2010-05-09 12:25:51
【问题描述】:

假设您在 iPhone 屏幕上有三个接触点,其中一个触摸移动...

将调用 touchesMoved 方法,并且 [[event touchesForView:self] count] 将等于 '3',因为该事件有 3 次触摸,但是如何区分这些触摸呢?例如 - 找出移动的是第一次、第二次还是第三次触摸?

谢谢。

【问题讨论】:

    标签: iphone multi-touch


    【解决方案1】:

    touchesMoved:withEvent: 的 touches 参数将包含实际移动的触摸。在 touchesBegan:withEvent: 中,您可以将它们存储起来;在整个触摸序列中,实际的触摸对象将保持不变(即相同的对象,尽管它们的值会改变)。

    【讨论】:

    • 但 touchesMoved 仅传递实际移动的触摸。因此,如果有两次触摸并且只有一个动作,它只知道其中一个。如果两个触摸同时移动,它只会通过两个触摸。即使您将所有触摸的开始位置保存在 touchesBegan 中,当调用 touchesMoved 时,您也只有一个 UITouch 对象(假设仅移动了一次触摸)及其当前数据。因此,鉴于它当前的位置,没有任何方法可以识别它是哪次触摸。
    • 为什么不存储最初的触摸,并与它们进行比较?
    猜你喜欢
    • 1970-01-01
    • 2012-06-13
    • 2014-01-12
    • 2014-02-28
    • 2010-10-29
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 2011-02-09
    相关资源
    最近更新 更多