gpt4 book ai didi

ios - 滚动到 tableview 中的行然后闪烁该行

转载 作者:搜寻专家 更新时间:2023-11-01 07:11:47 27 4
gpt4 key购买 nike

我想滚动到该行并通过更改背景颜色来闪烁该行。我可以滚动到该行。我使用方法 cellForRow(at:) 获取单元格以供以后修改和动画。但是 cell 是 nil。我不明白为什么它是零,因为我可以滚动到具有相同 indexPath 的行。

let indexPath = IndexPath(row: rowIndex, section: 0)
self.tableView.scrollToRow(at: indexPath, at: .top, animated: true)
let cell = self.tableView.cellForRow(at: indexPath) // return nil.
if let cell = cell { // nil
// animation here.
}

最佳答案

根据文档,cellForRow(at: indexPath) 返回:

An object representing a cell of the table, or nil if the cell is not visible or indexPath is out of range.

在您调用 cellForRow(at: indexPath) 时,您的单元格尚不可见,因为动画滚动尚未完成。

要跟踪滚动动画的完成,您必须实现 UITableViewDelegate 协议(protocol):

class YourVC : UIViewController, UITableViewDelegate {

override func viewDidLoad() {
// ... your code
self.tableView.delegate = self
}

func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
let cell = self.tableView.cellForRow(at: indexPathToAnimate) // returns your cell object
if let cell = cell {
// animation here.
}
}
}

关于ios - 滚动到 tableview 中的行然后闪烁该行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44511171/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com