Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 根据文本的不同更改UITextView高度_Ios_Objective C_Uitextview - Fatal编程技术网

Ios 根据文本的不同更改UITextView高度

Ios 根据文本的不同更改UITextView高度,ios,objective-c,uitextview,Ios,Objective C,Uitextview,我有一个应用程序,有许多单元格的表格,当用户点击它,然后细节视图控制器出现。局部视图控制器有一个不可编辑的图像和UITextView,它仅用于显示文本(就像标签一样)。它包含的文本来自xml文件,有时有几行,有时有很多文本 我想要的是-使UITextView高度根据其文本量而变化。例如,对于几行,它的高度可能为50像素,在其他情况下为300像素。如何测量正确的高度并将其设置为UITextView?我想再次指出,它只用于显示文本,而不是以任何方式进行编辑。我的第二项任务是测量finalUIText

我有一个应用程序,有许多单元格的表格,当用户点击它,然后细节视图控制器出现。局部视图控制器有一个不可编辑的图像和
UITextView
,它仅用于显示文本(就像标签一样)。它包含的文本来自xml文件,有时有几行,有时有很多文本

我想要的是-使
UITextView
高度根据其文本量而变化。例如,对于几行,它的高度可能为50像素,在其他情况下为300像素。如何测量正确的高度并将其设置为
UITextView
?我想再次指出,它只用于显示文本,而不是以任何方式进行编辑。我的第二项任务是测量final
UITextView
height并将其存储在某个变量中

这就是我尝试过的:

CGRect textViewRect      = self.myTextView.frame;
textViewRect.size.height = self.myTextView.contentSize.height;
self.myTextView.frame = textViewRect;
但显然它不起作用。你知道怎么做到吗


任何建议都将不胜感激,谢谢

使用UIView的这种方法:

- (CGSize)sizeThatFits:(CGSize)size
通常,您希望视图的宽度受到限制,但高度不受限制。因此,您传入一个宽度为所需的大小,高度为10000.0,因此它可以根据需要设置为所需的高度。这将根据视图的当前内容返回视图需要的大小

试试这个

UITextView *textview1;
[textview1.text sizeWithFont:text.font constrainedToSize:textview1.frame.size];

此方法的副本已弃用。对于ios7,您可以使用[view.text boundingRectWithSize:(CGSize)选项:(NSStringDrawingOptions)属性:(NSDictionary*)上下文:(NSStringDrawingContext*)]