如何调整UiLabel的基线偏移?

时间:2015-06-26 11:25:29

标签: ios swift cocoa-touch uilabel

我的应用使用自定义字体显示整个应用的信息。

但是他们的基线存在一些问题,如下图所示:

enter image description here

我需要修复" X 4"以垂直红框为中心。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

您可以创建UILabel并将其大小设置为与红色框相同。然后将其文本对齐设置为中心:

youLabel.textAlignment = NSTextAlignment.Center

另一个不太好的选择是制作与红框大小相同的UIButton,并将其UserInteractionEnabled设置为No。这样,您的文本将水平和垂直放置在中心。您也可以设置setContentVerticalAlignment属性

答案 1 :(得分:0)

在Swift中设置具有调整后的基线偏移的属性字符串:

let sttrStr = NSAttributedString.init(string: "your text",
                                      attributes:[NSAttributedStringKey.baselineOffset: -10])
textLabel.attributedText = attrStr

或类似于ObjC:

NSAttributedString *attrStr = [[NSAttributedString alloc] initWithString:@"your string"
                              attributes:@{ NSBaselineOffsetAttributeName : @-10 }];
textLabel.attributedText = attrStr;

根据回答here