我有UITableView
和一些UITableviewCell
在里面。我必须在每个单元格中播放视频(每次单个视频)。确定细胞是否可见
当我滚动表格视图时,如果当前单元格正在播放且可见,则应继续播放视频,如果单元格不可见(滚动后),则应停止播放视频。
如何确定哪个单元格在表格视图中可见,哪些不是?
我有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
}
希望它的工作:
实施didEndDisplaying
得知小区已滚出视,当你得到它时停止播放。
http://stackoverflow.com/questions/9157979/how-to-make-specific-uitableviewcell-to-be-visible-on-screen-while-having-more-r –
它会自动停止,因为单元格是内存不足尝试 –