确定单元格是否可见

时间:2016-12-27 09:59:30

标签: ios swift uitableview

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

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

如何确定哪个单元格在表格视图中可见,哪个不可见?

3 个答案:

答案 0 :(得分:3)

您可以使用此UITableView Delegate方法:

Add Delegate: UITableViewDelegate

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

希望它的工作:

答案 1 :(得分:2)

如果您的要求是确定哪些单元格可见并继续进行,请查看以下代码:

确保您的班级符合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];

    }];
}

答案 2 :(得分:1)

实施didEndDisplaying以了解单元格已滚出视图,并在获取时停止播放。