美文网首页
ios-多手指触屏移动轨迹

ios-多手指触屏移动轨迹

作者: 简鱼7819 | 来源:发表于2019-05-24 13:25 被阅读0次

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

    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-多手指触屏移动轨迹

          本文链接:https://www.haomeiwen.com/subject/adkgzqtx.html