objective-c - 想问对于UIView想做Tap点击事件监控,拦截哪个方法呢?

 徐徐回忆_545 发布于 2022-10-25 02:02

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

1 个回答
  • 如下代码添加的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;
    }
    2022-10-26 14:06 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有