gpt4 book ai didi

ios - UITableViewCell 中的 UIActivityIndi​​catorView(微调器)无法通过 UITableViewController 快速启动动画

转载 作者:搜寻专家 更新时间:2023-11-01 05:51:18 24 4
gpt4 key购买 nike

我有一个包含 UIActivityIndi​​catorView(微调器)的自定义 UITableViewCell,我尝试单击该单元格以便微调器开始设置动画。所以我尝试在 UITableViewController 中实现以下内容:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.dequeueReusableCellWithIdentifier("testcase", forIndexPath: indexPath) as TestCaseTableViewCell
cell.spinner.startAnimating()
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}

我的 TestCaseTableViewCell(自定义单元格类)中有实例变量“spinner”:

@IBOutlet weak var spinner: UIActivityIndicatorView!

但是没有用......

我只想点击单元格,微调器开始动画,因为我想在此期间做一些事情。完成某些操作后,我可以在单元格中显示类似“OK”的内容(与微调器的相同位置)。我怎样才能做到这一点?

最佳答案

问题在于如何从 TableView 中检索单元格:dequeueReusableCellWithIdentifier(identifier: String, forIndexPath indexPath: NSIndexPath)。当您需要显示新单元格时,此方法会向 UITableView 请求其重用缓存中的单元格,因此只能在 tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) TableView 数据源的方法。

要向 TableView 询问屏幕 单元格,请使用cellForRowAtIndexPath(indexPath: NSIndexPath)。您的代码示例将变为:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if let cell = tableView.cellForRowAtIndexPath(indexPath) as? TestCaseTableViewCell {
cell.spinner.startAnimating()
}
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}

关于ios - UITableViewCell 中的 UIActivityIndi​​catorView(微调器)无法通过 UITableViewController 快速启动动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29494655/

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