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的高度是自适应,此方法会失效。