iPhone SDK - 我在哪里触摸屏幕?

时间:2011-07-26 14:03:26

标签: iphone sdk

touchesEnded方法有没有办法告诉我手指抬起的位置? 另外,如果我在设备上有2个(或更多),它能告诉我哪个手指被抬起了吗? (例如,如果我把手指1放下,然后手指2向下,然后抬起手指2但按住手指1,它能告诉我我已经结束了手指2吗?)

由于 乔恩

1 个答案:

答案 0 :(得分:3)

查看由UIViews继承的the touch methods,特别是touchesEnded:withEvent:将告诉您触摸何时/何处结束(即您抬起手指的位置)。

只需在视图控制器中覆盖这些方法,您就可以找到触摸所指的位置:

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    // Get a touch
    UITouch *touch = [touches anyObject];

    // Where did it end?
    CGPoint endedAt = [touch locationInView:[self view]];
    ...

触摸对象与isEqual:方法中发送的触摸相同(touchesBegan:withEvent:)。如果您在touchesBegan中存储您感兴趣的触摸并在触摸中进行比较,则可以让您跟踪多个触摸