iOS 技巧

iOS开发中判断UITableView滑动到哪个分区

2020-08-24  本文已影响0人  梁森的简书
0.tableview.jpg

在一个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滑动到顶部");
}
}
上一篇下一篇

猜你喜欢

热点阅读