我只想在UITableViewCell
第一次显示时为其设置一次动画。
我的代码:
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cell.alpha = 0
let transform = CATransform3DTranslate(CATransform3DIdentity, 0, 200, 0)
cell.layer.transform = transform
UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: .curveEaseOut, animations: {
cell.alpha = 1
cell.layer.transform = CATransform3DIdentity
})
}
字符串
动画效果很好,但问题是,当用户向上滚动时,动画也会执行,因为单元格被重用。这看起来不太妙
我想为每个单元格显示动画一次,如何实现?
2条答案
按热度按时间iyr7buue1#
您需要记录单元格的动画是为您可以维护一个数组...
为此创建属性。
字符串
然后执行以下操作:
型
cnh2zyt32#
你可以在ViewController中添加一个数组,例如每个单元格都有bool标志。
字符串
然后检查一下:
型