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.