[如何绘制带颜色的文本]

场景:

1. 自定义view或其他控件时, 往往需要根据背景色或图片绘制特定颜色的文本.

NSMutableDictionary* stringAttributes = [NSMutableDictionary dictionaryWithCapacity:1];//[stringAttributes setObject:[NSFont messageFontOfSize:12.0] forKey:NSFontAttributeName];[stringAttributes setObject:[NSColor whiteColor] forKey:NSForegroundColorAttributeName];NSString* systemCapacity = [NSString stringWithFormat:@"System: %@",[FileUtil ZLGetFormatSizeFromBytes:system]];NSSize systemSize = [systemCapacity sizeWithAttributes:stringAttributes];theRect1.origin.x += (theRect1.size.width – systemSize.width)/2;[systemCapacity drawAtPoint:theRect1.origin withAttributes:stringAttributes];效果图

说明:

主要时添加了绘制属性, 具体有哪些属性看头文件 NSAttributedString.h

以下是部分属性:

/* Predefined character attributes for text. If the key is not in the dictionary, then use the default values as described below.*/APPKIT_EXTERN NSString *NSFontAttributeName;// NSFont, default Helvetica 12APPKIT_EXTERN NSString *NSParagraphStyleAttributeName;// NSParagraphStyle, default defaultParagraphStyleAPPKIT_EXTERN NSString *NSForegroundColorAttributeName;// NSColor, default blackColorAPPKIT_EXTERN NSString *NSUnderlineStyleAttributeName;// NSNumber containing integer, default 0: no underlineAPPKIT_EXTERN NSString *NSSuperscriptAttributeName;// NSNumber containing integer, default 0APPKIT_EXTERN NSString *NSBackgroundColorAttributeName;// NSColor, default nil: no backgroundAPPKIT_EXTERN NSString *NSAttachmentAttributeName;// NSTextAttachment, default nilAPPKIT_EXTERN NSString *NSLigatureAttributeName;// NSNumber containing integer, default 1: default ligatures, 0: no ligatures, 2: all ligaturesAPPKIT_EXTERN NSString *NSBaselineOffsetAttributeName;// NSNumber containing floating point value, in points; offset from baseline, default 0APPKIT_EXTERN NSString *NSKernAttributeName;// NSNumber containing floating point value, in points; amount to modify default kerning, if 0, kerning offAPPKIT_EXTERN NSString *NSLinkAttributeName;// NSURL (preferred) or NSStringAPPKIT_EXTERN NSString *NSStrokeWidthAttributeName;// NSNumber containing floating point value, in percent of font point size, default 0: no stroke; positive for stroke alone, negative for stroke and fill (a typical value for outlined text would be 3.0)APPKIT_EXTERN NSString *NSStrokeColorAttributeName;// NSColor, default nil: same as foreground colorAPPKIT_EXTERN NSString *NSUnderlineColorAttributeName;// NSColor, default nil: same as foreground colorAPPKIT_EXTERN NSString *NSStrikethroughStyleAttributeName; // NSNumber containing integer, default 0: no strikethroughAPPKIT_EXTERN NSString *NSStrikethroughColorAttributeName; // NSColor, default nil: same as foreground colorAPPKIT_EXTERN NSString *NSShadowAttributeName;// NSShadow, default nil: no shadowAPPKIT_EXTERN NSString *NSObliquenessAttributeName;// NSNumber containing floating point value; skew to be applied to glyphs, default 0: no skewAPPKIT_EXTERN NSString *NSExpansionAttributeName;// NSNumber containing floating point value; log of expansion factor to be applied to glyphs, default 0: no expansionAPPKIT_EXTERN NSString *NSCursorAttributeName;// NSCursor, default IBeamCursorAPPKIT_EXTERN NSString *NSToolTipAttributeName;// NSString, default nil: no

版权声明:本文为博主原创文章,,未经博主允许不得转载。

因为有了梦想,我们才能拥有奋斗的目标,

[如何绘制带颜色的文本]

相关文章:

  • 【算法】直接插入排序C语言实现
  • 嵌入式 FAAC1.28 在海思HI3518C/HI3518A平台linux中的编译优化
  • Android 动画animation 深入分析
  • 你感兴趣的文章:

    标签云:

    亚洲高清电影在线, 免费高清电影, 八戒影院夜间, 八戒电影最新大片, 出轨在线电影, 午夜电影院, 在线影院a1166, 在线电影院, 在线观看美剧下载, 日本爱情电影, 日韩高清电影在线, 电影天堂网, 直播盒子app, 聚合直播, 高清美剧, 高清美剧在线观看 EhViewer-E站, E站, E站绿色版, qqmulu.com, qq目录网, qq网站目录,