我有一个多行标签。我希望标签上的文本总是从左上角开始,与标签的高度和行数无关。标签多行文本对齐
现在我使用的是财产
[question1Label setContentMode: UIViewContentModeTopLeft];
但它不工作
感谢
我有一个多行标签。我希望标签上的文本总是从左上角开始,与标签的高度和行数无关。标签多行文本对齐
现在我使用的是财产
[question1Label setContentMode: UIViewContentModeTopLeft];
但它不工作
感谢
我注意到contentMode属性的UILabel的不影响其文字的对准。使用textAlignment属性。
label.textAlignment = UITextAlignmentLeft;
编辑:这将对齐文本中心左。为了显示来自左上方的文本,您需要使用sizeWithFont:
方法NSString找到文本的高度。 See this SO post知道如何去做。
作为替代,您可以使用UITextField
的UIControl
子类,它继承UIControl的的contentVerticalAlignment
财产。
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
您可以使用此属性对齐顶部的文本。您可以通过使用属性userInteractionEnabled
属性禁用用户编辑文本。
接受的答案不再适用于我,因为UITextAlignmentLeft已折旧。
下面的工作很棒!
// Allow multiline label centered
[label setNumberOfLines:0];
[label setTextAlignment:NSTextAlignmentCenter];
我使用这个属性,但它只对齐左侧的文本,但我想从顶部开始我的文本。 – Rachit 2011-06-15 04:39:31
@Rachit Taneja,看到我更新的答案 – EmptyStack 2011-06-15 05:06:48