tableview不响应Cell点击方法

    xiaoxiao2021-03-25  169

    tableView不响应Cell的点击方法可能有好多种情况所导致:

    1.未设置tablevIew的代理

    2.tableview所在的视图上有手势存在

    3.tableview所加载的Cell上有手势存在

    解决方式:

    1.最简单的方式当然是设置代理,并且取消手势

    2.第二种方法,在该界面添加手势并且设置手势代理为当前手势所在视图

        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyBoard)];

        tap.delegate = self;

        tap.numberOfTouchesRequired = 1;

        [self.view addGestureRecognizer:tap];

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

    {

        

         // 输出点击的view的类名

        NSLog(@"%@", NSStringFromClass([touch.view class]));

         // 若为UITableViewCellContentView(就是击了tableViewCell),则不截获Touch事件(就是继续执行Cell的点击方法)

        if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {

            return NO;

        }

            return YES;

    }

    3.传递响应者这种方式的写法是使用一个类去传递响应者,实际是让手势失效,这是在扩展Cell时一个逼格挺高的写法,后续找到代码更新上来.

    转载请注明原文地址: https://ju.6miu.com/read-4366.html

    最新回复(0)