ios开发中如何判断手指在屏幕上是移动事件还是点击事件

如果自己想,可以有一种方法是这样的:
当用户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说明是点击事件.然后想怎么操作你说的算.搞定!!!!!!!!!!!!!!!!!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值