我有UITableView
和一些UITableviewCell
。我必须在每个单元格中播放视频(一次一个视频)。
当我滚动表格视图时,如果当前单元格正在播放且可见,则视频应该继续,如果单元格不可见(滚动后),则视频应该停止。
如何确定哪个单元格在表格视图中可见,哪个不可见?
答案 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
以了解单元格已滚出视图,并在获取时停止播放。