Definitely you can change the height of a UILabel dynamically based on the text. Just make sure that the UILabel has numberOfLines = 0 and follow the answer from this example: ios dynamic sizing labels
For a complete answer, here is the code that you can do it with...
Calculate the height of your text that will be in your label, then set the frame of your label based on that size:
//Calculate the expected size based on the font and linebreak mode of your label
CGSize maximumLabelSize = CGSizeMake(296,9999);
CGSize expectedLabelSize = [yourString sizeWithFont:yourLabel.font
constrainedToSize:maximumLabelSize
lineBreakMode:yourLabel.lineBreakMode];
//adjust the label the the new height.
CGRect newFrame = yourLabel.frame;
newFrame.size.height = expectedLabelSize.height;
yourLabel.frame = newFrame;