我有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 –
它會自動停止,因爲單元格是內存不足嘗試 –