点击事件的HOOK

我们在做数据埋点时,如果要做到解藕的实现,需要使用hook的方式做拦截。

在做UIButton事件拦截的时候,我知道button点击后会执行sendAction:to:forEvent:方法,所以我可以hook这个方法做些其他事,那UIView的Tap事件,该拦截哪个方法呢?

我们可以拦截shouldReceiveTouch

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    if ([touch.view isDescendantOfView:self.popupView]) { //判断条件,比如是popView
    //NSLog(@"NO");
        return NO; //点击无效
    }
    return YES;
}

 

你可能感兴趣的:(iOS开发)