【问题标题】:iphone touch coordinatesiphone触摸坐标
【发布时间】:2010-06-29 00:29:12
【问题描述】:

有没有一种方法可以在任何给定时间获取当前显示器上所有触摸的坐标,而无需跟踪所有的 touchesBegan、touchesMoved 和 touchesEnded。因为据我所知,可以通过以下方式获取这些函数中的任何一个中的坐标:

NSSet *allTouches = [event allTouches];
UITouch *touch = [[allTouches allObjects] objectAtIndex:0];
...

仅报告移动结束或开始的触摸。我需要把所有手指的绳子都拔掉,而不仅仅是位置发生变化的手指。

【问题讨论】:

    标签: iphone coordinates


    【解决方案1】:

    没有内置的方法可以做到这一点。

    我过去的做法是保留一个坐标列表,在 touchesBegan 中添加该列表,根据 touchesMoved 中与该列表中的点接近的最近触摸更新这些坐标,并根据touchesEnded 和 Cancelled 中的最近距离。

    总而言之还不错,您还可以将状态信息附加到这些更新中,为您提供一个系统来轮询并获取所有当前触摸及其当前状态的列表。

    【讨论】:

    • 我相信您可以使用 '- (CGPoint)previousLocationInView:(UIView *)view' 方法来确定实际移动的触摸,而不是使用接近度。
    猜你喜欢
    • 2011-12-16
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多