Resizing UITextView to fit height of its content can be achieved like this:
CGRect frame = _textView.frame;
frame.size.height = _textView.contentSize.height;
_textView.frame = frame;
Is there something similar to fit width, without wrapping the content text?
1) You can use the NSString UIKit Additions to compute the size taken by the text (and adjust the size of your UITextView accordingly). You may seen an example here.
For example, if you need to know the CGSize that is taken by your
NSStringif rendered on a single line, useCGSize sz = [_textView.text sizeWithFont:_textView.font]then adjust your frame given this size value.If you need to know the size taken by your text if rendered on multiple lines, wrapping it if the text reaches a given width, use
sizeWithFont:constrainedToSize:lineBreakMode:instead, etc.2) You may also be interested in the
sizeThatFits:andsizeToFitmethods of UIView.The first one returns the CGSize (that fits in the given CGSize passed in parameter) so that your UITextView can display all your text. The second actually do the resizing, adjusting the frame for you.