0

我建立我的第一個WatchKit應用程序時遇到的麻煩與NSAttributedString格式,因爲它似乎不工作,我會期望;)WatchKit,AttributedString格式不工作

這是我的代碼:

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]; 

和這個結果:

enter image description here

期望

10.00Stuff應以下劃線和粗體顯示。

與iOS上的屬性字符串如何工作有什麼根本不同?我錯過了什麼?

通過這個閱讀:https://developer.apple.com/library/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/TextandLabels.html

回答

1

解決了這個問題,這個問題是字體@"Menlo"

通過使用

UIFont *textFont = [UIFont systemFontOfSize:20]; 
UIFont *hlFont = [UIFont systemFontOfSize:20]; 

格式化用下劃線工作正常。

+0

*將在24小時內接受 –

+0

不知道爲什麼我們無法在蘋果手錶中使用字體「Menlo」或其他字體? –

0

我不相信你可以編程設置標籤要大膽,斜體,下劃線....這必須通過在故事板實際的接口來完成。

根據this link

的屬性可以配置是

  1. 文本
  2. 文本顏色
  3. 字體
  4. 分鐘規模
  5. 對準

潛在的解決方法是將多個標籤,並設置您需要正確的格式的那些(粗體,下劃線)

+0

Nsattributedstring確實如此:格式化標籤中字符串的各個部分。 –