更改Apple Watch标签内的文本对齐方式



我想在代码中更改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)
    }

演示应用

最新更新