获取UITextView中文本的大小

时间:2010-01-28 16:09:04

标签: iphone cocoa-touch uiscrollview uitextview

我正在尝试将UIScrollView用作UITextView,除了它顶部有一个徽标(因此我不能直接使用UITextView)。

换句话说;我将有一个带有UIImage和UITextView的UIScrollView。 textView的内容是本地化的,容易改变,所以我不能硬编码它的高度。有没有办法得到“这个字段应该适合所有文本的大小”-value所以我可以正确计算UIScrollView的neede高度?

由于

2 个答案:

答案 0 :(得分:4)

我会查看NSStrings的UIStringDrawing类别,其中包含以下方法:

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode

使size属性成为具有所需宽度的结构,并使用较大的高度值:

CGSizeMake(width, 999.0f)

答案 1 :(得分:3)

您可以使用NSString (UIStringDrawing)中定义的方法:

- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode

这将返回文本的大小(宽度和高度)。您可能想要为保证金添加几个像素。