ios - 文本更改后 UILabel 不换行

标签 ios swift uilabel

enter image description here

我有一个 UI 标签,并将 numberOfLines 设置为 0,以便在需要时换行。

我偶尔会更改文本。有时它只需要一行,但当文本太长时它会截断而不是换行。仅当我刷新 TableView 并调用 reloadData() 时,标签才会换行。

有没有办法在不调用reloadData()的情况下自动换行标签?

重新加载表格 View 之前:

enter image description here

重新加载表格 View 后:

enter image description here

最佳答案

当您更改 TableView 单元格中标签中的文本时, TableView 不会自动重新计算单元格大小。

为此,您可以重新加载数据(如您所见),或者执行这两行:

tableView.beginUpdates()
tableView.endUpdates()

如果您要从单元类内部更新标签中的文本,您需要使用委托(delegate)/协议(protocol)模式来告诉 TableView Controller 执行这两行。

关于ios - 文本更改后 UILabel 不换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60064553/

相关文章:

ios - 使用 CGContextDrawImage 旋转图像

ios - 如何编码图像base64格式

json - 在 iOS 中,当此变量包含 Null 时,如何将 Any 对象类型的变量转换为 String?

autolayout - UILabel 子类 - 自定义 'drawRect' 方法导致文本被截断/不显示

ios - 具有动态高度的 UITableViewCell 中的 UILabel

iphone - 是否可以使用 "large"框架垂直对齐标签内的文本

ios - 为什么重新输入 UITabBarController() 后不显示 UINavigationBar?

iOS 如何在任何 View Controller 中捕获触摸?

ios - 如何将 Swift 中的白色图像着色为另一种颜色?

ios - 如何使用 3D 对象创建等距图 block map