如何在NSMutableAttributedString中增加整个内容的字体大小

时间:2017-02-17 17:24:42

标签: ios objective-c

我想增加来自服务器和文本的文本的字体大小是html格式。我使用NSAttributedString来显示文本。

NSRange rangeOfTitle = NSMakeRange(0,[catDescLabel length]);

NSMutableAttributedString * string1 = [[NSMutableAttributedString alloc] initWithString:catDescLabel];

[string1 addAttribute:NSFontAttributeName
                        value:[UIFont systemFontOfSize:20.0]
                            range:rangeOfTitle];

我正在附上截图,它看起来如何,我还附加截图它在Android中的样子。我想增加整个内容的字体大小。我怎么能这样做? 任何人都可以给我任何想法或帮助。非常感谢

Android Screenshot

iOS Screenshot

谢谢,

2 个答案:

答案 0 :(得分:1)

  

addAttribute ...但似乎它不适用于NSAttributedString

可用于NSMutableAttributedString。

这就是所有Cocoa不可变/可变类对的情况。这对中的不可变成员是,呃,不可变 - 这意味着你不能改变它的任何东西。如果你想改变它的一些东西,把它转换成对的可变成员。

NSMutableAttributedString *attributedString2 = 
    [[NSMutableAttributedString alloc] initWithAttributedString: attributedString1];

答案 1 :(得分:0)

你会做这样的事情......

NSMutableAttributedString *string1 =
[[NSMutableAttributedString alloc] initWithString:@"Your string"];
[string1 addAttribute:NSFontAttributeName
              value:[UIFont systemFontOfSize:20.0]
              range:NSMakeRange(5, 6)];

更新:

 [self.label setAttributedTitle:string1]; 

这将在20点文本中设置最后两个单词;字符串的其余部分将使用默认值(我认为是12分)。设置文本大小可能令人困惑的是你必须同时设置字体和大小 - 每个UIFont对象都封装了这两个属性。

并为您提供参考链接 https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/AttributedStrings/Tasks/CreatingAttributedStrings.html