tableView 设置了他的headerView 和 sectionView ,下面还要添加3个可以滚动的tableView 我们可以设置tableView
只有一个cell 然后在cell中加一个scrollView ,然后把3个tableView 加到scrollView中 。这样基本的样子就出来。
但是这样再滚动的时候会出现问题,下面的tableView可以滚动 ,底层tableView也可以滚动,效果非常差。
经过摸索想到到下面的办法 ;
对于底层tableView
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat offset = scrollView.contentOffset.y;
if (offset == self.personView.maxHeight) {
self.hrxTableView.contentOffset = CGPointMake(0, 1);
}
if (self.hrxTableView.contentOffset.y == 0) {
self.hrxTableView.scrollEnabled = NO;
} else {
self.hrxTableView.scrollEnabled = YES;
}
}
同时设置下面的tableView当偏移量为零时不能滚动
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat offset = scrollView.contentOffset.y;
if (offset == 0) {
scrollView.scrollEnabled = NO;
} else {
scrollView.scrollEnabled = YES;
}
}
首先吧下面的tableView.scrollEnabled = NO; ,这样底层的tableView就可以滚动了。然后
监听headerView的滚动 ,当headerView停止时,然后设置下面的tableView的偏移量为(0,1)
因为偏移量不为(0,0)--》下面的tableView.scrollEnabled = YES;
此时下面的tableView就可以滚动了 ,当下面的tableView滚动到最上面时,偏移量为(0,0)此时
下面的tableView.scrollEnabled = NO; ---》底层的talbeView就可以滚动了!
如此可以很好的解决滚动冲突的问题 。并且界面也很流畅!
转载于:https://my.oschina.net/zhxx/blog/605667