Iphone 如何获取UITextView以动态调整其大小';s self to it';内容

Iphone 如何获取UITextView以动态调整其大小';s self to it';内容,iphone,ios,objective-c,uitextview,Iphone,Ios,Objective C,Uitextview,我正在尝试获取一个UITextView,以便根据其内容动态调整其自身大小。文本视图的高度有时为100,有时为700 到目前为止,我所尝试的一切都没有奏效 我在viewdiload和viewdilayoutsubview中尝试了以下操作。 代码如下: CGRect frameDesc = self.descriptionDeal.frame; frameDesc.size.height = self.descriptionDeal.contentSize.height; self.descript

我正在尝试获取一个UITextView,以便根据其内容动态调整其自身大小。文本视图的高度有时为100,有时为700

到目前为止,我所尝试的一切都没有奏效

我在
viewdiload
viewdilayoutsubview
中尝试了以下操作。 代码如下:

CGRect frameDesc = self.descriptionDeal.frame;
frameDesc.size.height = self.descriptionDeal.contentSize.height;
self.descriptionDeal.frame = frameDesc;

self.descriptionDeal.backgroundColor = [UIColor redColor];
我添加了背景色,这样我可以看到视图的大小,而不是根据内容调整大小

我还尝试:

    [self.descriptionDeal sizeToFit];
另外,不确定它是否影响了什么,但在布局UITextView的故事中,大小设置在那里。我以为上面的代码会覆盖它,但有些东西不能正常工作


感谢您的帮助

尝试以下字符串方法,这些方法可用于获取在视图上显示字符串所需的尺寸。您可以根据从这些方法之一获得的CGSize更改textview的帧。如果您不打算在项目中使用自动布局来支持早期版本的iOS,请使用此选项

- (CGSize)sizeWithFont:(UIFont *)font; // Uses NSLineBreakByWordWrapping
- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(NSLineBreakMode)lineBreakMode;
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size; // Uses NSLineBreakModeWordWrap
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakMode; // NSTextAlignment is not needed to determine size

您应该在文本视图的代理的
textViewDidChange:


用于获取适当的高度。

您提供的第二个链接是此页面的链接,仅供参考。