swift - 在不重新加载自定义 UITableViewCell 的情况下设置 UILabel

Posted

技术标签:

【中文标题】swift - 在不重新加载自定义 UITableViewCell 的情况下设置 UILabel【英文标题】:swift - set UILabel without reload of custom UITableViewCell 【发布时间】:2016-04-27 09:09:26 【问题描述】:

是否可以在自定义 UITableViewCell 中为 UILabel 设置值而不重新加载单元格?

我已经尝试了很多排列:

let indexPath = NSIndexPath(forRow: 0, inSection: 0)
let cell = tableView.cellForRowAtIndexPath(indexPath) as! CustomTableViewCell1
cell.customLabel.text = "text goes here"

.. 我不明白为什么这不起作用。我在 UITableViewCell 中有一个 UITextField,当我设置 textField 值时,我只想更新标签,而不是重新加载整个单元格。有什么建议吗?

【问题讨论】:

您是否尝试在设置文本后启动 cell.customLabel.setNeedsDisplay()? @AlessandroOrnano - 谢谢,这个也可以 【参考方案1】:
 cell.customLabel.setNeedsDisplay() 

【讨论】:

这个答案我比较容易理解。【参考方案2】:

如果你想更新UIViews,你需要把它们放到主线程中:

dispatch_async(dispatch_get_main_queue(),
   cell.customLabel.text = "text goes here"
)

【讨论】:

你能在不重新加载单元格的情况下妥协单元格约束吗?我觉得太危险了.. 噢,我打错了:/。谢谢@Lion

以上是关于swift - 在不重新加载自定义 UITableViewCell 的情况下设置 UILabel的主要内容,如果未能解决你的问题,请参考以下文章

Swift uiview 在 uitable 之上

如何在 swift 3 中为 UITable 视图提供单元格缩进级别?

重新加载页面自定义获取的数据

从自定义单元格重新加载表格视图数据

以swift语言在自定义表格视图单元格中更新进度视图下载

在 UITableView Swift 中滚动时图片变得混合