你好嗎
我需要知道如何確定表格視圖單元格完全可見以在單元格中播放自動播放電影并檢測隱藏表格視圖單元格。
我在表格視圖中應用了下面的代碼,但沒有給我正確的解決方案。
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
let cellRect = tableView.rectForRow(at: indexPath)
let isFullyVisible = tableView.bounds.contains(rectInFull)
if isFullyVisible {
// Play video
}
}
所以請你告訴我如何才能看到正確的表格視圖單元格
uj5u.com熱心網友回復:
cell.frame.origin.y >= tableview.contentOffset.y && cell.frame.origin.y cell.frame.size.height <= tableview.contentOffset.y tableview.bounds.size.height
uj5u.com熱心網友回復:
您可能想要實作該UIScrollViewDelegate方法,scrollViewDidScroll(_:)并在其中檢查表格視圖中的可見單元格:
func scrollViewDidScroll(_ scrollView: UIScollView) {
guard let tv = scrollView as? UITableView else { return }
tv.visibleCells.forEach { $0.playVideo() }
}
當然,假設單元格 ( playVideo())上的方法存在,并且當視頻已經在播放時它會被多次呼叫(即如果已經在播放,則必須忽略呼叫)。否則,如果您需要indexPaths可見單元格的數量或任何微調,請使用表視圖上的屬性indexPathsForVisibleRows或方法indexPathForRows(in:),那么您可以選擇在陣列內獲得的那些索引路徑將指向模型的物件(可能實作播放視頻邏輯)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/385620.html
下一篇:sectionHeaderTopPadding不適用于Grouped和InsetGroupedUITableView
