ios-多手指触屏移动轨迹

项目需求:检查相应的触屏动作、对一些滑动触屏动作绘画出移动轨迹(单指或多指)

1,检查触屏动作

处理监测多手指具体动作的方式大致有两种,一种是touchesBegan、touchesMoved、touchesEnded三兄弟函数自己监听判断,再一种就是利用系统已经封装好的各类UIGestureRecognizer就可以有针对性检验出来。

我这里是用UIGestureRecognizer实现的,这个很简单,网络上有很多

2,画手指移动轨迹

不废话直接上代码

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

    for(UITouch *touchx  in  event.allTouches) {

        CGPoint location = [touchx locationInView:self];

        CGPoint pastLocation = [touchx previousLocationInView:self];

        CGContextRef layerContext = CGLayerGetContext(layer);

        CGContextBeginPath(layerContext);

        CGContextMoveToPoint(layerContext, pastLocation.x, pastLocation.y);

        CGContextAddLineToPoint(layerContext, location.x, location.y);

        CGContextStrokePath(layerContext);

    }

    [self setNeedsDisplay];

}

一根手指一个UItouch对象

首先判断屏幕上有几根手指的,是event.allTouches的数量。原因是在手指点击到屏幕、移动、再到离开屏幕,touches中数量只有一个UItouch对象,但是整个事件event包含所有的UItouch对象。

记录,有相同需要也可以看看~~

你可能感兴趣的:(ios-多手指触屏移动轨迹)