我有一个问题,在我的应用程序中我有一个标签,当我触摸它时,一个方法被触发,我用-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
实现,问题是当我触摸时,方法被触发(一切都是工作)但我想再次触摸另一种方法来解雇。怎么做???
答案 0 :(得分:2)
你正在谈论触摸后改变状态。大多数人只使用布尔值或整数枚举来跟踪他们所处的状态,并相应地分叉代码。但是,如果你需要在点击,双击,三击,平移或按住之间辨别,那么你应该看一下手势识别器,特别是观看WWDC视频的位置(2011年? )。
答案 1 :(得分:0)
我希望当我再次触摸另一种触发方法时。
-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;
}
}
显然,你不必根据触摸次数决定调用哪种方法 - 这只是一个例子。您可以使用任何信息,例如处理触摸事件的对象的状态。