如何调整UIlabel
How to adjust UIlabel
我在如何根据标签文本调整标签高度中阅读了这个答案:
Vertically align text to top within a UILabel
这是我的代码,试图同时设置新文本和调整标签。
但我发现标签的高度永远不会改变。它始终保持我在 xib 文件中设置的值。我使用工具 Spark 检查标签的高度:
-(void) setNewText(NSString *)newText
{
self.myLabel.text = newText;
self.myLabel.numberOfLines = 0;
[self.myLabel sizeToFit];
[self setNeedsLayout];
}
你能告诉我我的代码有什么问题吗?
谢谢。
已更新:
我已经尝试过@rdelmar 的建议。将标签的宽度约束和行数设置为 0。 ui 标签的高度确实得到了调整。但是文本的 first/last 行前后有额外的间距。
这是我使用 Spark 捕获的屏幕截图。蓝色矩形是 UILabel。如您所见,first/last 行有额外的间距 before/after。我怎样才能删除这些间距?
您无需在代码中执行任何操作即可让您的标签调整其高度。在xib或者storyboard中,给label约束来设置它的位置,给它一个固定宽度的约束。不要设置它的高度。将 numberOfLines 设置为 0,这就是您需要做的全部。如果您设置的文本太长而无法放在一行中,标签将自动调整其高度。
我在如何根据标签文本调整标签高度中阅读了这个答案: Vertically align text to top within a UILabel
这是我的代码,试图同时设置新文本和调整标签。
但我发现标签的高度永远不会改变。它始终保持我在 xib 文件中设置的值。我使用工具 Spark 检查标签的高度:
-(void) setNewText(NSString *)newText
{
self.myLabel.text = newText;
self.myLabel.numberOfLines = 0;
[self.myLabel sizeToFit];
[self setNeedsLayout];
}
你能告诉我我的代码有什么问题吗?
谢谢。
已更新:
我已经尝试过@rdelmar 的建议。将标签的宽度约束和行数设置为 0。 ui 标签的高度确实得到了调整。但是文本的 first/last 行前后有额外的间距。
您无需在代码中执行任何操作即可让您的标签调整其高度。在xib或者storyboard中,给label约束来设置它的位置,给它一个固定宽度的约束。不要设置它的高度。将 numberOfLines 设置为 0,这就是您需要做的全部。如果您设置的文本太长而无法放在一行中,标签将自动调整其高度。