我有一个用代码绘制的字符串[@"-" 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/