我想使用 UILabel 来显示从服务器发送的一些单词,这些单词我将它们设置为 NSMutableAttributeString 有时只占用一行< / strong>(仅在这种情况下,问题出现了。)
我打算获得标签占用的确切空间,但是当标签只占用一行时,非常重要 - 我使用lineSpacing设置NSMutableAttributeString (10px,NSMutableParagraphStyle),但出乎意料的是, 即使这里只有一行也会有效 - 问题显示在单词下面有一些额外的填充(我用一些中文单词测试,但注意:如果单词占用多行,则没有问题)。而且很奇怪 故事是 - 如果单词是纯英文或阿拉伯数字,则额外的填充将不存在)
以下照片可能会清楚地显示问题:
1.English words - oneline( no 额外填充) [测试词:今天0987776]
2.Chinese words - oneline( some extra padding) [测试词:今天天气好啊!]
希望有人会帮忙。很多。
答案 0 :(得分:1)
在标签上使用sizeToFit
文字所需的尺寸
[yourlabelName sizeToFit];
任何其他padding
都来自字体,标签本身不会应用任何其他填充
答案 1 :(得分:0)
// baselineOffset,它完全被击中,希望能帮助你
[attributionString addAttribute:NSBaselineOffsetAttributeName value:@(baselineOffset)range:range];