-1

シミュレーター 5.0 を使用して xcod4.2 で次のコードを記述できません。別の解決策を教えてください。

NSMutableAttributedString *str=[[NSMutableAttributedString alloc] initwithString:@"This is Green and Red"];
NSDictionary *redatt=@{NSForeGroundColorAttributeName:[UIColor redColor]};
NSDictionary *greenatt=@{NSForeGroundColorAttributeName:[UIColor greenColor]};

[str setAttribute:greenatt range:NSMakeRange(9,5)];
[str setAttribute:redatt range:NSMakeRange(19,3)];

lbl.attributedText=str;
4

2 に答える 2

1

CoreText Frameworkをインポートしてから実行する必要があります。kCTForegroundColorAttributeName を使用してみてください。詳細については、この例を参照してください

NSMutableAttributedString *str=[[NSMutableAttributedString alloc] initwithString:@"This is Green and Red"];


[str addAttribute:(NSString*)kCTForegroundColorAttributeName value:(id)[[UIColor redColor] CGColor] range:NSMakeRange(9,5)];
[str addAttribute:(NSString*)kCTForegroundColorAttributeName value:(id)[[UIColor greenColor] CGColor] range:NSMakeRange(19,3)];

lbl.attributedText=str;
于 2013-10-21T07:17:39.423 に答える
0

これを試してみてください、うまくいきました:

NSMutableAttributedString *str=[[NSMutableAttributedString alloc] initWithString:@"This is Green and Red"] ;

    NSDictionary *redatt=@{NSForegroundColorAttributeName:[NSColor redColor]};
    NSDictionary *greenatt=@{NSForegroundColorAttributeName:[NSColor greenColor]};

    [str addAttributes:redatt  range:NSMakeRange(9,5)];
    [str addAttributes:greenatt  range:NSMakeRange(1,4)];

    [lbl.textStorage setAttributedString:str];
于 2013-10-21T07:54:54.930 に答える