Ios 如何计算动态文本视图的正确高度

Ios 如何计算动态文本视图的正确高度,ios,Ios,我正在计算动态文本视图的正确高度。但是我没有得到正确的高度。我应该怎么做才能得到正确的高度。我必须显示一些阿拉伯文本。任何获得正确尺寸的技巧。请帮帮我 CGSize size = [foundationTrimmed sizeWithFont:newsSecondPart.font constrainedToSize: CGSizeMake(newsSecondPart.frame.size.width-11,10000)]; size.height = size.hei

我正在计算动态文本视图的正确高度。但是我没有得到正确的高度。我应该怎么做才能得到正确的高度。我必须显示一些阿拉伯文本。任何获得正确尺寸的技巧。请帮帮我

CGSize size = [foundationTrimmed sizeWithFont:newsSecondPart.font constrainedToSize:             CGSizeMake(newsSecondPart.frame.size.width-11,10000)];
size.height = size.height + 50;

CGRect newsSecondPartFrame = newsSecondPart.frame;
newsSecondPartFrame.size.height = size.height;
newsSecondPart.frame = newsSecondPartFrame;

CGRect CGRectnewsImageFrame = newsImageView.frame;
CGRectnewsImageFrame.origin.y = newsSecondPartFrame.size.height+40;   
newsImageView.frame = CGRectnewsImageFrame;

scrollView.contentSize = CGSizeMake(  0, newsSecondPartFrame.size.height+CGRectnewsImageFrame.size.height+ 100);

newsSecondPart.text = foundationTrimmed;

假设带有两个红点的文本视图是您的文本视图(处于当前状态)

textview左上边缘的红点坐标为
(CGRectGetMinX(textview.frame),CGRectGetMinY(textview.frame))

textview右下边缘的红点坐标为
(CGRectGetMaxX(textview.frame),CGRectGetMaxY(textview.frame))

这是因为UIViews坐标系的几何图形会导致“x”坐标在向右移动时增加,“y”坐标在向下移动时增加,因此原点位于视图的最左上角

您需要视图的高度,因此有三个选项:

选项1。第一个选项是减去textview的底部y坐标和顶部y坐标,如下所示:

int heightOfTextView = (CGRectGetMaxY(textview.frame)) - (CGRectGetMinY(textview.frame));
选项2。第二个选项是简单地获取文本视图边界的最大y坐标。不过,首先,您应该了解视图的框架与其边界之间的区别。框架和边界的定义取自以下问题:

UIView的边界是矩形,表示为相对于其自身坐标系(0,0)的位置(x,y)和大小(宽度,高度)

UIView的框架是矩形,表示为相对于包含在其中的superview的位置(x,y)和大小(宽度,高度)

因此,您可以对选项二执行此操作:

int heightOfTextView = CGRectGetMaxY(textview.bounds);
选项3。此选项实际上是最简单的方法:

int-heightOfTextView=textview.bounds.size.height

使用这三个选项中的任何一个,您都可以得到正确的textview高度,并且可以将此代码放在您想要计算textview高度的任何位置。请注意:如果使用
setBoundsOrigin:
更改边界,则第二个选项将不起作用,但使用textview不太可能做到这一点

希望这有帮助