我的应用使用自定义字体显示整个应用的信息。
但是他们的基线存在一些问题,如下图所示:
我需要修复" X 4"以垂直红框为中心。
我该如何解决这个问题?
答案 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