在UITableView上添加手势且和自身cell的didSelect方法不发生冲突
- (void)viewDidLoad {
[self initTableView];
}
- (void) initTableView {
UITableView *tableView = [[UITableView alloc] init];
tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
tableView.delegate = self;
tableView.dataSource = self;
tableView.backgroundColor = GCOLOR;
tableView.showsVerticalScrollIndicator = NO;
[self.view addSubview:tableView];
[tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(0);
make.top.mas_equalTo(0);
make.bottom.mas_equalTo(iPhoneX ? @-84 : @-50);
}];
self.tableView = tableView;
//区头高度
if (@available(iOS 11.0, *)) {
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
// est和代理 可选1个
self.tableView.estimatedSectionHeaderHeight = 10;
} else {
self.automaticallyAdjustsScrollViewInsets = NO;
}
//table添加手势点击
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] init];
tap.delegate = self;
[tableView addGestureRecognizer:tap];
}
#pragma mark - 手势代理
//table添加手势
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
} else {
self.cxHelpV.hideView = YES;
return YES;
}
}