objective-c - 想问对于UIView想做Tap点击事件监控,拦截哪个方法呢?
我想大声告诉你
我想大声告诉你 2017-05-02 09:25:02
0
1
558

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

我想大声告诉你
我想大声告诉你

全部回复(1)
过去多啦不再A梦

如下代码添加的tap 事件

self.backgroundTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleBackgroundTapGesture:)];
self.backgroundTapRecognizer.delegate = self;
[self.maskView addGestureRecognizer:self.backgroundTapRecognizer];

可以用shouldReceiveTouch 拦截

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    if ([touch.view isDescendantOfView:self.popupView]) { //判断条件,比如是popView
    //NSLog(@"NO");
        return NO; //点击无效
    }
    return YES;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板