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

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滑动到顶部");
}
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容