态
我中有 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
以了解该单元格在获得它时已滚动不见,并在获得它时停止播放。