tableview不响应Cell点击方法

来源:互联网 发布:keil优化等级设置 编辑:程序博客网 时间:2024/06/08 19:11

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

1.未设置tablevIew的代理

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

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

解决方式:

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

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

    UITapGestureRecognizer *tap = [[UITapGestureRecognizeralloc] initWithTarget:selfaction:@selector(hideKeyBoard)];

    tap.delegate =self;

    tap.numberOfTouchesRequired =1;

    [self.viewaddGestureRecognizer:tap];


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

{

    

     // 输出点击的view的类名

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

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

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

        returnNO;

    }

        returnYES;

}

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



0 0
原创粉丝点击