在OSX中设置多行标签的高度

时间:2015-03-30 12:50:41

标签: macos swift multiline

我正在尝试在OSX中设置多线标签的高度,但是当我使用sizetofit功能时,它会削减线宽并且不会设置高度。我想要的是能够将多线标签增长为它的大小自动设置高度和宽度。这是我正在处理的代码。

self.solutionTextView.stringValue = String(format: "asjdasjdhsjf dasfjashd fjadhsf sfsdjfijijij dsfsd jsj aidjfajs jfsajf isdj sjdaofjaisdjf i dsfisdfjsdjfi sj jasof sjdf ijsdj fisjdsj fjas jsid isdf jsdi fsiajf isjfi jdsjf saof jisadfj isjdfisdj foajdfjsdawei difj jhjsahhjashashhjsahsahjhsahjsahjshajhsahsahjhjsahjsahjhjsahsahjsajhjhashjshjhjsahsjahjsahjsahsahjsahjshahsjahjsahjsahjshhsjahjsahjsahjsahjhjsahjsahsahhsahjsahsahhsajhjsahjsahjhsjahjsahjsahjhsjahjahjsahjshjahjsahjhjahjsahjhsjahjshjshajhjsahjsahjshjahjsahjsahjshjahjsahjshjahjsahjsahsahhjsahjsahjsahjsahjhjsahjahjsahhsahjjasjhhjsahjsahhjsahjhjsahjsajhhjsahjhjsahjsahjhjsahjshjahjsahjsahjjhashjshajhahjahjhsahhajshjashahjshhjahj%@", self.recommendation.valueForKey("solution") as String)
self.solutionTextView.sizeToFit()
self.linksTextView.stringValue = String(format: "First Link %@", self.recommendation.valueForKey("tip1") as String)
//    self.linksTextView.sizeToFit()
self.proTipTextView.stringValue = String(format: "Pro Tip: Not available")

1 个答案:

答案 0 :(得分:1)

我正在iOS上开发,虽然你的变量名为' self.solutionTextView'我假设我们正在谈论相当于UILabel。在这种情况下,您可以测量文本并将其用作框架:

let frame = self.solutionTextView.frame
frame.size.height = NSString(string:self.solutionTextView.stringValue).sizeWithAttributes([NSFontAttributeName : self.solutionTextView.font]).height
self.solutionTextView.frame = frame

我还假设你有一个设定的宽度,并且更感兴趣的是在高度上垂直缩放标签。如果没有,则上述方法返回一个可用于获取宽度的大小。