Label Text alignment with multiple lines

18,867

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.

Share:
18,867
Rachit
Author by

Rachit

Updated on June 24, 2022

Comments

  • Rachit
    Rachit almost 2 years

    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

  • Rachit
    Rachit almost 13 years
    i use this property but it only align the text from left but i want to start my text from the top.