【发布时间】:2014-04-08 22:28:03
【问题描述】:
我正在使用此代码在 UITableView 中水平对齐一组 truckDayScrollViews(UIScrollView 的子类),SUDaysForTruckView 只是一个自定义 UILabel
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if ([scrollView isKindOfClass:[SUDaysForTruckView class]]) {
CGPoint offset=CGPointMake(scrollView.contentOffset.x, 0);
for (TruckViewCell *cell in self.tableView.visibleCells) {
cell.truckDayScrollView.contentOffset=offset;
}
self.headerView.contentOffset=offset;
self.scrollViewPosition=offset;
}
else{
NSLog(@"Table view scrolling vertically: %f,%f",self.scrollViewPosition.x,self.scrollViewPosition.y);
self.headerView.contentOffset=self.scrollViewPosition;
}
}
想法是,如果滚动滚动视图的类是单元格的一部分(水平滚动),则更新所有滚动视图,包括标题。这很好用。
虽然tableView垂直滚动时,header滚动视图中的内容偏移量被重置为0,0。
为什么会这样,有没有办法解决它。我试过把这条线
self.headerView.contentOffset=self.scrollViewPosition;
在很多地方 cellForRow,self.headerView 等的 getter。都无济于事。
第一张图片显示水平滚动和标题如何对齐,第二张图片显示垂直滚动的第一个位发生的情况,标题立即跳出对齐。
【问题讨论】:
-
是不是我的图片太大了??
标签: ios uiscrollview contentoffset uitableview