WatchKit,AttributedString 格式不起作用
WatchKit, AttributedString formatting not working
我正在构建我的第一个 WatchKit 应用程序,但在 NSAttributedString
格式设置方面遇到了问题,因为它似乎没有像我预期的那样工作 ;)
这是我的代码:
UIFont *textFont = [UIFont fontWithName:@"Menlo" size:30];
UIFont *hlFont = [UIFont fontWithName:@"Menlo-Bold" size:30];
NSMutableAttributedString *information = [[NSMutableAttributedString alloc]initWithString:@"ADDED AN ENTRY OF " attributes:@{NSFontAttributeName : textFont}];
NSString *amountString = [NSString stringWithFormat:@"%.2f",(-1)*handler.amount.floatValue];
NSNumber *underline = [NSNumber numberWithInt:NSUnderlineStyleSingle];
NSAttributedString *amount = [[NSAttributedString alloc]initWithString:amountString attributes:@{NSFontAttributeName : hlFont, NSUnderlineStyleAttributeName : underline }];
NSAttributedString *to = [[NSMutableAttributedString alloc]initWithString:@" TO " attributes:@{NSFontAttributeName : textFont}];
NSString *categoryString = handler.category;
NSAttributedString *category = [[NSAttributedString alloc]initWithString:categoryString attributes:@{NSFontAttributeName : hlFont, NSUnderlineStyleAttributeName : underline }];
[information appendAttributedString:amount];
[information appendAttributedString:to];
[information appendAttributedString:category];
[_informationLabel setAttributedText:information];
这是结果:
预期
10.00
和 Stuff
应加下划线和粗体。
属性字符串在手表上的工作方式与在 iOS 上的工作方式有什么根本不同吗?我错过了什么?
我不相信您可以通过编程将标签设置为粗体、斜体、下划线....这必须通过情节提要中的实际界面来完成。
您可以配置的属性是
- 文字
- 文字颜色
- 字体
- 最小规模
- 对齐
- 行
一个可能的解决方法是合并多个标签,并将您需要的标签设置为正确的格式(粗体、下划线)
解决了,问题是字体@"Menlo"
。
通过使用
UIFont *textFont = [UIFont systemFontOfSize:20];
UIFont *hlFont = [UIFont systemFontOfSize:20];
带下划线的格式没问题。
我正在构建我的第一个 WatchKit 应用程序,但在 NSAttributedString
格式设置方面遇到了问题,因为它似乎没有像我预期的那样工作 ;)
这是我的代码:
UIFont *textFont = [UIFont fontWithName:@"Menlo" size:30];
UIFont *hlFont = [UIFont fontWithName:@"Menlo-Bold" size:30];
NSMutableAttributedString *information = [[NSMutableAttributedString alloc]initWithString:@"ADDED AN ENTRY OF " attributes:@{NSFontAttributeName : textFont}];
NSString *amountString = [NSString stringWithFormat:@"%.2f",(-1)*handler.amount.floatValue];
NSNumber *underline = [NSNumber numberWithInt:NSUnderlineStyleSingle];
NSAttributedString *amount = [[NSAttributedString alloc]initWithString:amountString attributes:@{NSFontAttributeName : hlFont, NSUnderlineStyleAttributeName : underline }];
NSAttributedString *to = [[NSMutableAttributedString alloc]initWithString:@" TO " attributes:@{NSFontAttributeName : textFont}];
NSString *categoryString = handler.category;
NSAttributedString *category = [[NSAttributedString alloc]initWithString:categoryString attributes:@{NSFontAttributeName : hlFont, NSUnderlineStyleAttributeName : underline }];
[information appendAttributedString:amount];
[information appendAttributedString:to];
[information appendAttributedString:category];
[_informationLabel setAttributedText:information];
这是结果:
预期
10.00
和 Stuff
应加下划线和粗体。
属性字符串在手表上的工作方式与在 iOS 上的工作方式有什么根本不同吗?我错过了什么?
我不相信您可以通过编程将标签设置为粗体、斜体、下划线....这必须通过情节提要中的实际界面来完成。
您可以配置的属性是
- 文字
- 文字颜色
- 字体
- 最小规模
- 对齐
- 行
一个可能的解决方法是合并多个标签,并将您需要的标签设置为正确的格式(粗体、下划线)
解决了,问题是字体@"Menlo"
。
通过使用
UIFont *textFont = [UIFont systemFontOfSize:20];
UIFont *hlFont = [UIFont systemFontOfSize:20];
带下划线的格式没问题。