我正在使用UILaber以非常大的字体显示第二个倒计时(大小240)。显示的字符串格式为“xxx.xx”,x为字符0-9。我想将文本与标签中显示的字符串中的点字符(。)对齐。我在标签中使用textAlignment作为.Center,但是某些字符串的实际显示长度不同,导致点字符在更新字符串时左右移动。 F.X. “1”的textContainer小于“8”。
是否可以进行这种角色整理?
答案 0 :(得分:2)
有趣的问题配偶:
请在下面找到解决方案:
基本上我在这里做的是:
标签不需要约束,只需根据需要进行文本对齐。
干杯!
答案 1 :(得分:0)
答案 2 :(得分:0)
let attributedStringOne = NSAttributedString.init(string: "XXX", attributes: [NSAttributedStringKey.baselineOffset: 0])
let attributedStringTwo = NSAttributedString.init(string: ".", attributes: [NSAttributedStringKey.baselineOffset: label.frame.height / 4])
let attributedText = NSMutableAttributedString.init()
attributedText.append(attributedStringOne)
attributedText.append(attributedStringTwo)
label.attributedText = attributedText
baselineOffset 是 NSNumber 类型。因此,您可以根据基线设置您想要的数量。