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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With