我想在即将离开视图时为UITableViewCell
设置动画。我知道有一个didEndDisplayingcell
函数,但到那时,为单元格设置动画为时已晚。因为它已经消失了。我基本上想要使用...来缩小单元格。
UIView.animate(withDuration: 0.2) {
self.cellView.transform = CGAffineTransform(translationX: self.view.frame.size.width, y: 0)
}
...每当它回到屏幕上时,将其缩小回正常状态。
有什么想法吗?
答案 0 :(得分:0)
不是一个完整的解决方案,但这可能会让你在那里:
self.tableView.indexPathsForVisibleRows
使用它来查找屏幕上的内容。
for path in self.tableView.indexPathsForVisibleRows! {
//check if it's past a point on the screen
//animate if needed
}
在
中检查这些条件override func scrollViewDidScroll(_ scrollView: UIScrollView) {
// call the function to check if cells pass a threshold
}
最后一位将进行设置,以便单元在第一次加载时完全可见,但之后它们将开始处于动画状态。
答案 1 :(得分:-1)
解决此问题的最佳方法是通过UITableViewDelegate
方法检查单元格何时完成显示:
func tableView(UITableView, didEndDisplaying: UITableViewCell, forRowAt: IndexPath)
告诉代理人从表中删除了指定的单元格。