我正在尝试使用NSAttributedString更改文本字体大小。但它的大小不会改变。
NSDictionary *attrDict = @{NSFontAttributeName : [UIFont boldSystemFontOfSize:22], NSForegroundColorAttributeName : [UIColor orangeColor]};
NSAttributedString *newAttString = [[NSAttributedString alloc] initWithString:mytext attributes:attrDict];
[result appendAttributedString:newAttString];
仅文本颜色更改。结果字符串的大小不是22,也不是粗体。
答案 0 :(得分:0)
不要使用alloc,init来应用这些属性,而是尝试使用(使用 mutable NSAttributedString)之后执行此操作:
NSMutableAttributedString *newAtt = [[NSMutableAttributedString alloc] initWithString:mytext]; // Allocate a new NSMutableAttributedString with `mytext`
[newAtt addAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:20],
NSForegroundColorAttributeName: [UIColor orangeColor]}
range:NSMakeRange(0, [result length])]; // add new attributes for the length of the string `mytext`
[result setAttributedText:newAtt];
这个答案会有所不同,具体取决于result
是什么,我在UITextView
上进行了测试,并且工作正常,还有attributedText
UILabels
上的财产。
希望这会有所帮助。
答案 1 :(得分:0)
您没有提到代码末尾的result
含义。你确定要“追加”吗?
此外,我使用此代码设置字体
[UIFont fontWithName:@"Arial-BoldMT" size:22.0f]
这可以分别用于设置不同的字体和大小。
希望这会有所帮助:)