Instead of using sizeToFit
, you could manually change the label's height;
CGSize size = [descLabel.text sizeWithFont:descLabel.font constrainedToSize:CGSizeMake(labelWidth, labelHeight)];
CGRect frame = descLabel.frame;
frame.size.height = size.height;
[yourLabel setFrame:frame];
The size returned will be the best fit for the content of your label. If the label's height is fitted to its content, you wouldn't have problems with the content being positioned on the center of the label.