如何解决UTableView 当前可见单元格 indexPath.row
我想要屏幕上当前可见单元格的 indexPath.row(目前我让单元格填满整个屏幕,所以它应该只有一个)
print(tableView.indexPathsForVisibleRows)
//PRINT OUT
Optional([0,0]) -row 0,screen just loaded
Optional([[0,0],[0,1]]) -row 1
Optional([[0,1],2]]) -row 2
Optional([[0,2],3]]) -row 3
Optional([[0,3]]) -row 2 (scrolled back up)
print(tableView.visibleCells)
[]-not working
[]-not working
我尝试了上面的代码,但是如何只获得 Y(行)号?当我滚动时它也会打印出数组。如何只获取当前可见的单元格?
我不能使用 cellForRowAt: indexPath。
解决方法
您应该尝试获取表格的中心位置,然后将其转换为该位置的单元格的 indexPath。在scrollViewDidEndDecelerating
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
let visibleIndexPath = tableView.indexPathForRow(at: CGPoint(x: tableView.bounds.midX,y: tableView.bounds.midY))
// do whatever you want with your indexpath
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。