如果自己想,可以有一种方法是这样的:
当用户touch动作结束后,判断用户点击开始位置和结束位置的坐标,如果相等,则说明是点击,否则为移动.
这种方式理论上是可以的,在模拟机上也是可以的,原因是因为模拟机上你用的时鼠标点击,点击的是一个点,可以实现坐标的判断,但是,你在真机上是用手指点击的,你点击的坐标是一个区域,而不是一个点,所以当判断用户点击开始位置和结束位置的坐标的时候,根本不会出现相等的情况,所以,此方法不可行!!!!!!!!!
华丽丽的分割线
因此,我们要想一种可行的方法,如下:
先上代码!!!!!
bool flag =NO;
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
flag =YES;
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
if (flag) {
NSLog(@"move事件");
}
else
{
NSLog(@"点击事件");
}
}
此方法思路:
首先设置一个bool变量flag,并设置为no,然后当发生touchesMoved事件的时候,把flag设置为yes.当touchesEnded时候判断flag的值,为yes说明发生touchesMoved事件,为no说明是点击事件.然后想怎么操作你说的算.搞定!!!!!!!!!!!!!!!!!!!!!!!