目标c UIFont systemFontOfSize不起作用

时间:2016-03-24 10:31:41

标签: objective-c uifont

我正在尝试使用NSAttributedString更改文本字体大小。但它的大小不会改变。

NSDictionary *attrDict = @{NSFontAttributeName : [UIFont boldSystemFontOfSize:22], NSForegroundColorAttributeName : [UIColor orangeColor]};

NSAttributedString *newAttString = [[NSAttributedString alloc] initWithString:mytext attributes:attrDict];

[result appendAttributedString:newAttString];

仅文本颜色更改。结果字符串的大小不是22,也不是粗体。

2 个答案:

答案 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]

这可以分别用于设置不同的字体和大小。

希望这会有所帮助:)