检测触摸次数
Detect number of touches
我有一个问题,在我的应用程序中,我有一个标签,当我触摸它时,一个方法被触发,我用 -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
实现,问题是当我触摸时,该方法被触发(一切正常)但我想当我再次触摸另一种方法时触发。怎么做???
你说的是触摸后改变状态。大多数人只会使用布尔值或整数枚举来跟踪他们所处的状态,并相应地分叉代码。但是,如果您需要区分点击、双击、三次点击、平移或按住,那么您应该查看手势识别器,特别是观看介绍它们的 WWDC 视频(2011? ).
I want when I touch once again another method to fire.
-touchesEnded:withEvent:
和其他触摸处理方法将始终触发以响应触摸事件——您无法更改它。您可以 做的是查看这些方法的实现中的触摸,找出您想要处理该特定事件的方法,然后调用它:
- (void)touchesEnded:(NSSet *)touches
withEvent:(UIEvent *)event
{
switch ([touches count]) {
case 1: [self oneTouch:touches forEvent:event];
break;
case 2: [self twoTouches:touches forEvent:event];
break;
default: [self moreThanTwoTouches:touches forEvent:event];
break;
}
}
显然,您不必根据触摸次数来决定调用哪个方法——这只是一个示例。您可以随意使用任何信息,例如处理触摸事件的对象的状态。
我有一个问题,在我的应用程序中,我有一个标签,当我触摸它时,一个方法被触发,我用 -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
实现,问题是当我触摸时,该方法被触发(一切正常)但我想当我再次触摸另一种方法时触发。怎么做???
你说的是触摸后改变状态。大多数人只会使用布尔值或整数枚举来跟踪他们所处的状态,并相应地分叉代码。但是,如果您需要区分点击、双击、三次点击、平移或按住,那么您应该查看手势识别器,特别是观看介绍它们的 WWDC 视频(2011? ).
I want when I touch once again another method to fire.
-touchesEnded:withEvent:
和其他触摸处理方法将始终触发以响应触摸事件——您无法更改它。您可以 做的是查看这些方法的实现中的触摸,找出您想要处理该特定事件的方法,然后调用它:
- (void)touchesEnded:(NSSet *)touches
withEvent:(UIEvent *)event
{
switch ([touches count]) {
case 1: [self oneTouch:touches forEvent:event];
break;
case 2: [self twoTouches:touches forEvent:event];
break;
default: [self moreThanTwoTouches:touches forEvent:event];
break;
}
}
显然,您不必根据触摸次数来决定调用哪个方法——这只是一个示例。您可以随意使用任何信息,例如处理触摸事件的对象的状态。