更新自定义单元格中的标签时Wordwrap不起作用(没有表重新加载)

时间:2016-11-07 21:26:02

标签: ios swift uitableview uilabel

我正在处理一个有很多变化的表视图。因此,我必须避免重新加载整个事物,甚至单个单元格,因为它变得难以滚动,并且不断跳转所有正在改变的东西。我想出了如何更新单个标签,这不会影响其他用户的滚动位置或导致桌面视图的弹跳/跳跃。我遇到的问题是,当我这样做时,wordwrap似乎不起作用。我将行设置为0并打开wordwrap并且它可以正常工作(使用reloadData())但是如果我只是更改标签,它只会继续在同一行上。这是我更新标签的方式:

if let cell = self.tableView.cellForRowAtIndexPath(NSIndexPath(forRow: index, inSection: 0)) as? customCell {
     cell.textLabel.text = newText as? String
}

这样可以非常顺利地更新自定义单元格中的标签,我只是无法弄清楚如何将其转换为自动换行。我尝试了sizeToFit(),还尝试了beginUpdates / endUpdates,并且通过开始/结束更新它实际上可以正常工作,但是它会导致表跳转的一些问题。 (类似于reloadData())。感谢您花时间阅读本文,我对任何建议持开放态度。

*****更新*****

看起来标签不能自动换行,因为单元格高度没有变化,这就是beginUpdates / endUpdates工作的原因。如果我更新单元格高度虽然整个表格上下跳跃,一切都变得疯狂。我希望这个标签不会破坏其他一切。

1 个答案:

答案 0 :(得分:0)

检查标签的高度约束...给出高度约束为> =某个值。

例如:高度> = 20