iOS-UITableView上新增手勢且和didSelect方法不發生衝突
阿新 • • 發佈:2019-02-01
在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; } }