美文网首页
手势与touch

手势与touch

作者: 杀了人的地狱 | 来源:发表于2018-04-22 20:32 被阅读0次

    (1), 事件分发:如何确定当前点击的点由哪个view来处理?

    hit-test来确定hit-view

    (2), 事件响应:确定hit-view之后,如何处理事件?

    当确定了hit-view之后,第一响应者就是当前的hit-view,然后就会根据响应者链来处理触摸事件。

    有手势的先处理手势,手势识别失败后,执行touch系列回调处理。

    - (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent*)event {

        ///获取最佳响应的view,可以在这个过程中将一些手势关闭,这样就可以调用当前view的touchesBegan方法了

        if(event.type==UIEventTypeTouches) {

    //        NSSet *touches = [event touchesForView:self];

    //        UITouch *touch = [touches anyObject];

    //        if (touch.phase == UITouchPhaseBegan) {

    //        [self  touchesBegan:touches withEvent:event];

    //            NSLog(@"Touches began");

    //        }else if(touch.phase == UITouchPhaseEnded){

    //            NSLog(@"Touches Ended");

    //            [self  touchesEnded:touches withEvent:event];

    //

    //        }else if(touch.phase == UITouchPhaseCancelled){

    //            [self  touchesCancelled:touches withEvent:event];

    //            NSLog(@"Touches Cancelled");

    //

    //        }else if (touch.phase == UITouchPhaseMoved){

    //            NSLog(@"Touches Moved");

    //            [self touchesMoved:touches withEvent:event];

    //

    //        }

        }

        return[superhitTest:pointwithEvent:event];

    }

    touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event  这个方法的优先级是比手势优先级低的,有手势先走手势,没有手势才会调用touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event

    相关文章

      网友评论

          本文标题:手势与touch

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