我有一个用代码绘制的字符串
[@"-" drawInRect: r withFont: f2 lineBreakMode: UILineBreakModeWordWrap alignment: UITextAlignmentCenter];
但是,我想更改此字符串中的颜色,因为NSString无法实现,因此我希望将其修改为NSAttributedString。

但是,这不起作用,这是我的修改后的代码,我也找不到其他参数的属性

NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObjectsAndKeys:f2,NSFontAttributeName,
                                        nil];

    NSAttributedString *drawingString = [[NSAttributedString alloc]  initWithString:@"-" attributes:attrsDictionary];

    [drawingString drawInRect:r];

无论这是否是正确的方法,都将获得任何帮助。

最佳答案

您还需要设置NSForegroundColorAttributeName属性。

这是complete list-在“常量”部分中:

NSString *const NSFontAttributeName;
NSString *const NSParagraphStyleAttributeName;
NSString *const NSForegroundColorAttributeName;
NSString *const NSBackgroundColorAttributeName;
NSString *const NSLigatureAttributeName;
NSString *const NSKernAttributeName;
NSString *const NSStrikethroughStyleAttributeName;
NSString *const NSUnderlineStyleAttributeName;
NSString *const NSStrokeColorAttributeName;
NSString *const NSStrokeWidthAttributeName;
NSString *const NSShadowAttributeName;
NSString *const NSVerticalGlyphFormAttributeName;

关于objective-c - 将NSString转换为NSAttribtuedString以进行绘图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12726423/

10-10 20:33