//MARK: - 一个方法就能搞定 右边滑动时跟左边的联动
- (void)scrollViewDidScroll:(UIScrollView*)scrollView {
// 如果是 左侧的 tableView 直接return
if(scrollView ==self.leftTableView)return;
// 取出显示在 视图 且最靠上 的 cell 的 indexPath
NSIndexPath*topHeaderViewIndexpath = [[self.rightTableViewindexPathsForVisibleRows]firstObject];
// 左侧 talbelView 移动的 indexPath
NSIndexPath*moveToIndexpath = [NSIndexPathindexPathForRow:topHeaderViewIndexpath.sectioninSection:0];
// 移动 左侧 tableView 到 指定 indexPath 居中显示
[self.leftTableView selectRowAtIndexPath:moveToIndexpath animated:YES scrollPosition:UITableViewScrollPositionMiddle];
}
//MARK: - 点击 cell 的代理方法
- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath {
// 选中 左侧 的 tableView
if(tableView ==self.leftTableView) {
NSIndexPath*moveToIndexPath = [NSIndexPathindexPathForRow:0inSection:indexPath.row];
// 将右侧 tableView 移动到指定位置
[self.rightTableView selectRowAtIndexPath:moveToIndexPath animated:YES scrollPosition:UITableViewScrollPositionTop];
// 取消选中效果
[self.rightTableViewdeselectRowAtIndexPath:moveToIndexPathanimated:YES];
}
}
#pragma mark - 懒加载 tableView -
// MARK: - 左边的 tableView
- (UITableView*)leftTableView {
if (!_leftTableView) {
UITableView*tableView = [[UITableViewalloc]initWithFrame:CGRectMake(0,0,leftTableWidth,ScreenHeight)];
[self.viewaddSubview:tableView];
_leftTableView= tableView;
tableView.dataSource=self;
tableView.delegate=self;
[tableViewregisterClass:[UITableViewCell class] forCellReuseIdentifier:leftCellIdentifier];
tableView.backgroundColor= [UIColorredColor];
tableView.tableFooterView= [[UIViewalloc]init];
}
return _leftTableView;
}
// MARK: - 右边的 tableView
- (UITableView*)rightTableView {
if (!_rightTableView) {
UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(leftTableWidth, 0, rightTableWidth, ScreenHeight)];
[self.viewaddSubview:tableView];
_rightTableView= tableView;
tableView.dataSource=self;
tableView.delegate=self;
[tableViewregisterClass:[UITableViewCell class] forCellReuseIdentifier:rightCellIdentifier];
tableView.backgroundColor= [UIColorcyanColor];
tableView.tableFooterView= [[UIViewalloc]init];
}
return _rightTableView;
}