2016-01-26 44 views
-1

的iOS的UILabel比文字

就像上面的图片更高。

我发现了这个问题。 当我将linespace设置为attributeText时,如果只有一行,'UILabel'的高度高于Text.If不止一行,它们是相同的。

如何解决呢?

sizeToFits没用,boundingRectWithSize没用。

不要在乎文字的遗漏部分〜

+0

没有ü尝试在故事板来改变'自动Shrink'为'最小字体scale'看? – Tj3n

+0

我没有使用storyboard.I只是使用代码。图片来自'Debug View Hierarchy'@ Tj3n – Berkhoff

回答

0

如果使用的autoLayout,你不需要设置标签的高度值。而另一种方式是计算的UILabel的文本,并设置结果值

-(CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size{ 
NSAttributedString *attributedText = [[NSAttributedString alloc] initWithString:self attributes:@{NSFontAttributeName: font}]; 
CGRect rect = [attributedText boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin context:nil]; 
return rect.size; 

}

+0

我使用的是'autoLayout',并没有设置UIlabel的高度,然后UIlabel的高度高于文本...是否是由中文字造成的? – Berkhoff