标签文本对齐多行

Rac*_*hit 5 iphone label objective-c alignment ios

我有一个带有多行的标签.我希望标签上的文字始终从左上角开始,与标签的高度和行数无关.

现在我正在使用房产

[question1Label setContentMode: UIViewContentModeTopLeft];
Run Code Online (Sandbox Code Playgroud)

但它不起作用

谢谢

Emp*_*ack 6

我注意到UILabel的contentMode属性不会影响其文本的对齐方式.使用textAlignment属性.

label.textAlignment = UITextAlignmentLeft; 
Run Code Online (Sandbox Code Playgroud)

编辑:这将对齐文本Center-Left.为了显示来自左上角的文本,您需要使用NSStringsizeWithFont:方法查找文本的高度.看到这篇SO帖子就知道怎么做了.

作为替代,您可以使用UITextField,子类UIControl,它继承UIControl是contentVerticalAlignment财产.

textField.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
Run Code Online (Sandbox Code Playgroud)

您可以使用此属性将文本对齐在顶部.您可以使用property userInteractionEnabled属性禁止用户编辑文本.