【问题标题】:Detecting discrete touch events检测离散的触摸事件
【发布时间】:2010-07-15 21:15:40
【问题描述】:

如何隔离触摸事件?例如,如果视图检测到单击,则应调用一个方法,如果视图检测到双击,则应调用另一种方法。我这样做的问题是双击总是被解释为单击,然后再被解释为双击。所以,例如:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

 UITouch *touch = [touches anyObject];
 if ([touch tapCount] == 1) {
NSLog(@"one touch");
 } else if ([touch tapCount] > 1) {
 NSLog(@"multi taps");
 }
}

如果我要单独录制屏幕,我会正确记录“一键式”。但是,如果我在屏幕上双击,我会得到记录的语句,首先是“单触”,然后是“多击”。

我确信这很简单,但有人能指出正确的方向吗?

【问题讨论】:

    标签: objective-c iphone cocoa-touch ios4


    【解决方案1】:

    找到答案:http://www.iphonedevsdk.com/forum/iphone-sdk-development/3578-tap-double-tap.html

    你使用一个开关然后取消挂起的请求,即:

    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(singleTapMethod) object:nil];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多