确定细胞是否可见



我中有 UITableView和一些 UITableviewCell。我必须在每个单元格中播放视频(一次视频)。

当我滚动表视图时,如果当前的单元格在播放且可见的情况下,则应继续视频,如果不可见(滚动后),则应停止视频。

我如何确定在表观中可见哪个单元格?

Add Delegate: UITableViewDelegate
    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
// This method is call while cell display                
}

希望其工作:

如果您的要求弄清楚了哪些单元格并进行相应进行,请查看以下代码:

确保您的类符合UITableViewDelegate协议。

在您的scrollViewDidScroll中,您可以使用self.tableview.visibleCells检查所有目前可见的所有单元格。

类似的东西:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    [mainTableView.visibleCells enumerateObjectsUsingBlock:^(__kindof UITableViewCell * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
        //here  you can get indexPath of each cell currently visible when scroll view ends scrolling.
        NSIndexPath *indexPath = [mainTableView indexPathForCell:obj];
    }];
}

实现didEndDisplaying以了解该单元格在获得它时已滚动不见,并在获得它时停止播放。

最新更新