是否可以产生以下效果:
当我滚动UITableView时,另一个UITableView会根据我正在移动的UITableView自动滚动。
NS:由于某些原因,无法将两个UITableView合并到一个UITableView中......
感谢。
我找到了一种方法并进行了测试。我不确定这是不是一个好方法。 执行UIScrollViewDelegate的scrollViewDidScroll,如下所示。 但我必须取消选中弹跳效果,因为它会使scrollViewDidScroll被多次调用一次滚动...
- (void)syncTableViews:(UIScrollView *)whatScrollView
{
int tmpDesY = whatScrollView.contentOffset.y;
BOOL tmpNeedSetTv00 = NO;
BOOL tmpNeedSetTv01 = NO;
BOOL tmpNeedSetTv02 = NO;
if(whatScrollView == self.TableView00)
{
tmpNeedSetTv01 = YES;
tmpNeedSetTv02 = YES;
}
else if(whatScrollView == self.TableView01)
{
tmpNeedSetTv00 = YES;
tmpNeedSetTv02 = YES;
}
else if(whatScrollView == self.TableView02)
{
tmpNeedSetTv00 = YES;
tmpNeedSetTv01 = YES;
}
if(tmpNeedSetTv00 == YES)
{
[self.TableView00 setContentOffset:CGPointMake(self.TableView00.contentOffset.x,tmpDesY) animated:NO];
}
if(tmpNeedSetTv01 == YES)
{
[self.TableView01 setContentOffset:CGPointMake(self.TableView01.contentOffset.x,tmpDesY) animated:NO];
}
if(tmpNeedSetTv02 == YES)
{
[self.TableView02 setContentOffset:CGPointMake(self.TableView02.contentOffset.x, tmpDesY) animated:NO];
}
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
[self syncTableViews:scrollView];
}
答案 0 :(得分:0)
UITableView用于委托UIScrollView,将UIScrollViewDelegate添加到您的类中 只需使用:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
UIScrollView *otherScrollView = (scrollView == self.tableViewHours ) ? self.tableViewDay : self.tableViewHours;
[otherScrollView setContentOffset:[scrollView contentOffset] animated:NO];
}
问候。