
在一个VC上添加一个TableView,当前VC没有navigationBar,如图所示,TableView自动偏移了一个状态栏的高度,且是负值。
判断该tableView滑动到了哪个分区?
我们可以通过scrollViewDidScroll方法来确定tableview的偏移量,可以通过tableview的rectForSection方法来获取某个分区的rect从而获取该分区的y坐标。
当tableview滑动到某个分区的的顶部的时候,其偏移量始终比这个分区的纵坐标少一个状态栏的高度(只是本例子)。那么我们就可以通过偏移量和某个section的纵坐标来判断tableview滑动了哪个分区。
代码:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat statusH = [UIApplication sharedApplication].statusBarFrame.size.height;
CGFloat bottomCellOffset = [self.tableView rectForSection:2].origin.y - statusH;
if (scrollView.contentOffset.y >= bottomCellOffset) { // 第二个sectionHeaderView滑动到顶部
NSLog(@"第二个sectionHeaderView滑动到顶部");
}
}
网友评论