我想在代码中更改Apple Watch中标签的文本对齐方式,从左到中。我找了一些答案,但什么也没找到。
您不能在运行时更改标签的属性。丑陋的解决方法是使用属性字符串。
因此,在故事板中,使标签为全宽。然后对于左对齐,当您设置文本时,一切都将正常工作。
如果您想要居中文本:
NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStyle alloc] init];
[paraStyle setAlignment:NSTextAlignmentCenter];
NSAttributedString *str = [[NSAttributedString alloc]
initWithString:@"Hello" attributes:@{NSParagraphStyleAttributeName: paraStyle}];
[self.label setAttributedText:str];
在Swift-3中,可以通过以下方式执行:
func changeAttributeOfText() {
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .left
let font = UIFont.boldSystemFont(ofSize: 12)
let attributes:Dictionary = [NSParagraphStyleAttributeName:paragraphStyle , NSFontAttributeName:font ]
let attributeString:NSAttributedString = NSAttributedString(string: "HELLO", attributes: attributes)
textLabel.setAttributedText(attributeString)
}
演示应用