我正在通过 IB 工作,并且有一个几乎延伸到布局末尾的 UILabel。我将它设置为 Lines=2,因为它应该占用的最大行数是 2。但是,如果它只有 1 行长,我希望它具有顶部的垂直对齐。
IB中的标签设置:
Lines:2
Line breaks: Word wrap
在代码中,在 viewDidLoad 方法中,我设置了 UILabel 的文本。但是,作为功能的一部分,文本必须更改。这是我的代码:
[_main_lbl1 setText:[myUI MAIN_TITLE]]; //Always only 1 line
[_main_lblsub1 setText:[myUI SUB_TITLE]]; //May be 1 or 2 lines
[_main_lblsub1 sizeToFit]; //Causes vertical alignment (I believe)
每当我更改文本并重新运行 sizeToFit 时,文本换行就会完全混乱。与在 IB 中设置的几乎到达 UILabel 的末尾不同,在某些情况下,文本将在略多于一半的距离处换行,在某些情况下,它根本不换行。
IB中的布局图像:
模拟器中结果标签的图像:
在第一个标签中它似乎工作正常,第二个标签根本不换行。
更改 UILabel 文本时,我需要做些什么来保持文本换行吗?还有什么我想念的吗?
注意:更新的问题包括更多细节和图片。
谢谢