我正在使用一个有很多变化的表视图。正因为如此,我必须避免重新加载整个内容,甚至是单个单元格,因为滚动变得很困难,并随着所有正在变化的内容而不断跳跃。我想出了如何更新单个标签,这不会影响其他用户的滚动位置,也不会导致表视图的反弹/跳转。我遇到的问题是,当我这样做时,wordwrap似乎不起作用。我将行设置为0,并打开了wordwrap,它在任何其他方式下都工作得很好(使用reloadData()),但如果我只是更改标签,它就会一直运行在同一行上。这是我更新标签的方式:
if let cell = self.tableView.cellForRowAtIndexPath(NSIndexPath(forRow: index, inSection: 0)) as? customCell {
cell.textLabel.text = newText as? String
}这会非常顺利地更新自定义单元格中的标签,我只是不知道如何将其转换为wordwrap。我尝试了sizeToFit(),也尝试了beginUpdates / endUpdates,对于begin/end更新,它实际上是有效的,但它再次导致了一些表跳跃的问题。(类似于reloadData())。感谢您花时间阅读这篇文章,我对任何建议都持开放态度。
*更新*
看起来标签不能自动换行,因为单元格的高度没有改变,这就是为什么beginUpdates/endUpdates工作的原因。但是,如果我更新单元格的高度,整个表格就会上下跳跃,一切都会变得疯狂。我希望这个标签不会扰乱其他一切。
发布于 2016-11-08 16:21:24
检查标签的高度约束...将高度约束作为>=赋予一些值。
例如: height >= 20
https://stackoverflow.com/questions/40474948
复制相似问题