【发布时间】:2016-11-05 00:25:56
【问题描述】:
我有一个表格,单元格有一个标签,我希望能够直接更新标签,而无需重新加载表格或单元格。我找到了一种方法来做到这一点并且它有效:
let cell = self.tableView.cellForRowAtIndexPath(NSIndexPath(forRow: index, inSection: 0)) as! cellClass
cell.textLabel.text = newText as? String
唯一的问题是标签的大小没有改变。如果重新加载表格,标签会更改大小以适应文本量。我尝试使用 layoutIfNeeded() 和 sizeToFit() 但标签不会延伸到第二行。宽度不是什么大问题,主要是它没有换行,所以换句话说,高度不会延伸到更多的行。
【问题讨论】:
-
你试过
tableView.beginUpdates()然后tableView.endUpdates()吗? -
beginUpdates/endUpdates 有一些东西。它正在做我想做的事,但问题是有时这个标签会很快更新,并且在发生这种情况时似乎会崩溃。对于一两次更新,它可以工作。我尝试获取主队列但仍然崩溃。知道为什么要这样做吗?
标签: ios swift uitableview uilabel