Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 确定单元格是否可见_Ios_Swift_Uitableview - Fatal编程技术网

Ios 确定单元格是否可见

Ios 确定单元格是否可见,ios,swift,uitableview,Ios,Swift,Uitableview,我有UITableView和一些UITableviewCell。我必须在每个单元中播放视频(一次播放一个视频) 当我要滚动表格视图时,如果当前单元格正在播放且可见,则应继续播放视频,如果单元格不可见(滚动后),则应停止播放视频 如何确定表视图中哪个单元格可见,哪个不可见?如果您的要求是确定哪些单元格可见,并相应地进行操作,请查看以下代码: 确保您的类符合UITableViewDelegate协议 在scrollViewDidScroll中,可以使用self.tableview.visibleCe

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

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


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

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

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

    }];
}

您可以使用此UITableView委托方法:

Add Delegate: UITableViewDelegate

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

希望它能起作用:

实现了解单元格已从视图中滚动出去,并在得到它时停止播放。

当单元格内存不足时,它会自动停止播放,请尝试