计算cell是否在可视范围

1、使用场景:

在tableview滚动时,判断特定cell是否在可视范围内。

2、原理分析:

在tableview滚动过程中,执行方法:scrollViewDidScroll,在此方法中判断cell的CGRect,判断tableview的坐标,可以确定cell是否在可视范围内。

3、主要代码:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if (scrollView.tag == Tag_MyTableView) //指定tableview
    {
        CGRect rectInTableView = [MyTableView rectForRowAtIndexPath:indPath];
        CGRect rectInSuperview = [MyTableView convertRect:rectInTableView toView:[MyTableView superview]];
            
      //判断cell的展示范围
      if (rectInSuperview.origin.y + rectInSuperview.size.height < 0 ||
                rectInSuperview.origin.y > ScreenHeight -64 -64 -30)
        {
            NSLog(@"播放cell超出可视范围");
           //做相应操作
        }
    }
}

4、注意事项:

此方法主要用于cell的高度是固定情况时,如果cell的高度是自适应,此方法会失效。

你可能感兴趣的:(计算cell是否在可视范围)