2015-10-22 23 views
0

我看到IOS中的UILabel具有高度属性和字体。我也看到,如果我给高度和字体相同的值,对于某些字符,文本在UILabel中被剪切。这两个不同?在进行UI设计时,如果高度超过字体大小,会有一些额外的空白,这是我想要避免的,因此想知道两者之间究竟有什么区别。UILabel IOS中的字体和高度

+0

只显示你的拉布勒的代码正确的高度? – Garry

回答

0

文字大小是从字体的基线到其上限线的高度,它不考虑下伸线(如字母'g'和'y')或上升线(如'f',在某些字体)。一般来说,您不必(甚至不需要)设置标签的高度;它根据字体大小确定最佳高度。

有关字体大小如何工作的详细信息,请参阅https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/CustomTextProcessing/CustomTextProcessing.htmlenter image description here

1

您可以使用sizeThatFits:确定UILabel

UILabel *label; 
label.text = @"Some text"; 
CGRect labelFrame = label.frame; 
labelFrame.size.height = [label sizeThatFits:CGSizeMake(labelFrame.size.width), MAXFLOAT].height; 
label.frame = labelFrame;