现在的位置: 首页 > 综合 > 正文

iPhone开发之区分 touch 事件是单击还是双击的方法

2012年12月13日 ⁄ 综合 ⁄ 共 678字 ⁄ 字号 评论关闭

原文地址 : http://www.pczgc.com/iphone/201108/38103.html

如果您的 iPhone 应用里有个 view,既有单击操作又有双击操作。用户双击 view 时,总是先执行一遍单击的操作再执行双击的操作。所以直接判断时就会发现不能直接进入双击操作。下面是区分 touch 事件是单击还是双击的方法

-(void)singleTap{

NSLog(@"Tap 1 time");

}

-(void)doubleTap{

NSLog(@"Tap 2 time");


}


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

UITouch *touch = [touches anyObject];


NSTimeInterval delaytime = 0.4;//自己根据需要调整


switch (touch.tapCount) {

case 1:

[self performSelector:@selector(singleTap) withObject:nil afterDelay:delaytime];

break;

case 2:{

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

[self performSelector:@selector(doubleTap) withObject:nil afterDelay:delaytime];


}

break;

default:

break;

}

}

抱歉!评论已关闭.