如何在Swift中确定文本块(作为UILabel)的高度

如何在Swift中确定文本块(作为UILabel)的高度,swift,Swift,我试图确定文本块的高度,以便将视图设置为滚动视图的正确高度。文本以UILabel的形式放置在屏幕上。这根绳子足够长,可以包起来 我尝试了很多不同的方法,但都没有成功。我是编程新手,我可以在Obj-C中找到这样做的例子,但当我尝试复制他们在Swift中所做的事情时,我并没有得到他们所得到的——相反,我始终得到27.6的值(即使我更改字体大小)。以下是我迄今为止最好的想法: var font : UIFont = UIFont() var attrs : [NSObject: AnyObject]

我试图确定文本块的高度,以便将视图设置为滚动视图的正确高度。文本以UILabel的形式放置在屏幕上。这根绳子足够长,可以包起来

我尝试了很多不同的方法,但都没有成功。我是编程新手,我可以在Obj-C中找到这样做的例子,但当我尝试复制他们在Swift中所做的事情时,我并没有得到他们所得到的——相反,我始终得到27.6的值(即使我更改字体大小)。以下是我迄今为止最好的想法:

var font : UIFont = UIFont()
var attrs : [NSObject: AnyObject] = [font:UIFont.boldSystemFontOfSize(20.0)]
var theSize = (someObject.someString as NSString).boundingRectWithSize( CGSizeMake(300.0, CGFloat.max), options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes:attrs, context:nil).size

println(theSize.height)

所以,我被卡住了……如何在Swift中获得这段文本的高度?

我通常用一行文本创建一个UILabel,然后将其乘以行数加上一些填充。我会这样做,但我不知道它将有多少行长。数据是在运行时加载的,长度取决于加载的内容。我假设您有可变的行数?看看这个:@Rich,您的
UIScrollView
中是否还有其他内容,或者只是文本?