Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Label Text alignment with multiple lines

I have a label with multiple lines .I want the text on the label always starts from top left corner independent of the height and number of lines of label.

Right now i am using a property

[question1Label setContentMode: UIViewContentModeTopLeft];

But its not working

Thanks

like image 861
Rachit Avatar asked Jun 14 '11 14:06

Rachit


1 Answers

I've noticed that contentMode property of UILabel doesn't affect its text's alignment. Use the textAlignment property.

label.textAlignment = UITextAlignmentLeft; 

Edit: This will align the text Center-Left. In order to show the text from Top-Left you need to find the height of the text using sizeWithFont: method of NSString. See this SO post to know how to do it.

As an alternative you can use UITextField, the subclass of UIControl, which inherits UIControl's the contentVerticalAlignment property.

textField.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;

You can use this property to align the text on top. You can disable the user from editing the text by using the property userInteractionEnabled property.

like image 105
EmptyStack Avatar answered Sep 29 '22 06:09

EmptyStack