1. Java代码 收藏代码
  2. #import "ViewController.h"
  3. #import <CoreText/CoreText.h>
  4.  
  5. @interface ViewController ()
  6.  
  7. @end
  8.  
  9. @implementation ViewController
  10.  
  11. - (void)viewDidLoad
  12. {
  13. [super viewDidLoad];
  14. //学习内容
  15. /*
  16. 1.控件 UIView UILabel UITextField UITextView UIButton
  17. 2.字体、大小、单位、颜色
  18. */
  19. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 30, 300, 260)];
  20. label.text = @"Label Text Content, This is a text label things attribute";//默认为空
  21. label.font = [UIFont systemFontOfSize:17];//默认使用系统的17
  22. label.textColor = [UIColor orangeColor];//默认使用文本黑色
  23. label.shadowColor = [UIColor lightGrayColor];//默认没有阴影
  24. label.shadowOffset = CGSizeMake(1,0);//默认是一个向上的阴影(0,-1)
  25. label.textAlignment = NSTextAlignmentCenter;//默认是左对齐
  26. label.lineBreakMode = NSLineBreakByTruncatingTail;//段落样式,默认是最后截断尾巴,用...代替
  27.  
  28. //富文本的基本数据类型,属性字符串。以此为基础,如果这个设置了相应的属性,则会忽略上面设置的属性,默认为空
  29. NSString *string = label.text;
  30. const CGFloat fontSize = 16.0;
  31. NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:string];
  32. NSUInteger length = [string length];
  33. //设置字体
  34. UIFont *baseFont = [UIFont systemFontOfSize:fontSize];
  35. [attrString addAttribute:NSFontAttributeName value:baseFont range:NSMakeRange(0, length)];//设置所有的字体
  36. UIFont *boldFont = [UIFont boldSystemFontOfSize:fontSize];
  37. [attrString addAttribute:NSFontAttributeName value:boldFont range:[string rangeOfString:@"Text"]];//设置Text这四个字母的字体为粗体
  38. //设置倾斜,需要导入coreText
  39. UIFont *italicFont = GetVariationOfFontWithTrait(baseFont,
  40. kCTFontTraitItalic);
  41. [attrString addAttribute:NSFontAttributeName value:italicFont
  42. range:[string rangeOfString:@"Label"]];
  43. // 设置颜色
  44. UIColor *color = [UIColor redColor];
  45. [attrString addAttribute:NSForegroundColorAttributeName
  46. value:color
  47. range:[string rangeOfString:@"Content"]];
  48. [attrString addAttribute:NSBackgroundColorAttributeName value:[UIColor blueColor] range:[string rangeOfString:@"ent"]];
  49.  
  50. //可以对这些属性设置值
  51. //字体名称有以下:
  52. // label.font = [UIFont fontWithName:@"Arial-BoldItalicMT" size:24];
  53. [attrString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Verdana-BoldItalic" size:18] range:[string rangeOfString:@"Label"]];
  54. label.numberOfLines = 2;
  55. NSMutableParagraphStyle *
  56. style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
  57. style.lineSpacing = 10;//增加行高
  58. style.headIndent = 10;//头部缩进,相当于左padding
  59. style.tailIndent = -10;//相当于右padding
  60. style.lineHeightMultiple = 1.5;//行间距是多少倍
  61. style.alignment = NSTextAlignmentLeft;//对齐方式
  62. style.firstLineHeadIndent = 20;//首行头缩进
  63. style.paragraphSpacing = 10;//段落后面的间距
  64. style.paragraphSpacingBefore = 20;//段落之前的间距
  65. [attrString addAttribute:NSParagraphStyleAttributeName value:style range:NSMakeRange(0, length)];
  66.  
  67. [attrString addAttribute:NSKernAttributeName value:@2 range:NSMakeRange(0, length)];//字符间距 2pt
  68. [attrString addAttribute:NSStrokeColorAttributeName value:[UIColor blueColor] range:[string rangeOfString:@"is"]];//设置文字描边颜色,需要和NSStrokeWidthAttributeName设置描边宽度,这样就能使文字空心
  69. [attrString addAttribute:NSStrokeWidthAttributeName value:@2 range:[string rangeOfString:@"is"]];//空心字,文字边框描述
  70. [attrString addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:[string rangeOfString:@"text"]];//下划线
  71. [attrString addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleThick) range:[string rangeOfString:@"label"]];//厚的下划线
  72. [attrString addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlinePatternSolid | NSUnderlineStyleSingle) range:[string rangeOfString:@"things"]];//删除线
  73. [attrString addAttribute:NSStrikethroughColorAttributeName value:[UIColor blueColor] range:[string rangeOfString:@"things"]];//删除线蓝色
  74. label.attributedText = attrString;
  75.  
  76. label.highlightedTextColor = [UIColor redColor];//设置文本高亮显示颜色,与highlighted一起使用。
  77. label.highlighted = NO; //高亮状态是否打开
  78. label.enabled = YES;//设置文字内容是否可变
  79. label.userInteractionEnabled = YES;//设置标签是否忽略或移除用户交互。默认为NO
  80. label.baselineAdjustment = UIBaselineAdjustmentNone;//如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为。
  81. // UIBaselineAdjustmentAlignBaselines=0,默认,文本最上端与中线对齐。
  82. // UIBaselineAdjustmentAlignCenters, 文本中线与label中线对齐。
  83. // UIBaselineAdjustmentNone, 文本最低端与label中线对齐。;
  84. [self.view addSubview:label];
  85.  
  86. /*
  87. 字体名如下:
  88. Font Family: American Typewriter
  89. Font: AmericanTypewriter
  90. Font: AmericanTypewriter-Bold
  91.  
  92. Font Family: AppleGothic
  93. Font: AppleGothic
  94.  
  95. Font Family: Arial
  96. Font: ArialMT
  97. Font: Arial-BoldMT
  98. Font: Arial-BoldItalicMT
  99. Font: Arial-ItalicMT
  100.  
  101. Font Family: Arial Rounded MT Bold
  102. Font: ArialRoundedMTBold
  103.  
  104. Font Family: Arial Unicode MS
  105. Font: ArialUnicodeMS
  106.  
  107. Font Family: Courier
  108. Font: Courier
  109. Font: Courier-BoldOblique
  110. Font: Courier-Oblique
  111. Font: Courier-Bold
  112.  
  113. Font Family: Courier New
  114. Font: CourierNewPS-BoldMT
  115. Font: CourierNewPS-ItalicMT
  116. Font: CourierNewPS-BoldItalicMT
  117. Font: CourierNewPSMT
  118.  
  119. Font Family: DB LCD Temp
  120. Font: DBLCDTempBlack
  121.  
  122. Font Family: Georgia
  123. Font: Georgia-Bold
  124. Font: Georgia
  125. Font: Georgia-BoldItalic
  126. Font: Georgia-Italic
  127.  
  128. Font Family: Helvetica
  129. Font: Helvetica-Oblique
  130. Font: Helvetica-BoldOblique
  131. Font: Helvetica
  132. Font: Helvetica-Bold
  133.  
  134. Font Family: Helvetica Neue
  135. Font: HelveticaNeue
  136. Font: HelveticaNeue-Bold
  137.  
  138. Font Family: Hiragino Kaku Gothic **** W3
  139. Font: HiraKakuProN-W3
  140.  
  141. Font Family: Hiragino Kaku Gothic **** W6
  142. Font: HiraKakuProN-W6
  143.  
  144. Font Family: Marker Felt
  145. Font: MarkerFelt-Thin
  146.  
  147. Font Family: STHeiti J
  148. Font: STHeitiJ-Medium
  149. Font: STHeitiJ-Light
  150.  
  151. Font Family: STHeiti K
  152. Font: STHeitiK-Medium
  153. Font: STHeitiK-Light
  154.  
  155. Font Family: STHeiti SC
  156. Font: STHeitiSC-Medium
  157. Font: STHeitiSC-Light
  158.  
  159. Font Family: STHeiti TC
  160. Font: STHeitiTC-Light
  161. Font: STHeitiTC-Medium
  162.  
  163. Font Family: Times New Roman
  164. Font: TimesNewRomanPSMT
  165. Font: TimesNewRomanPS-BoldMT
  166. Font: TimesNewRomanPS-BoldItalicMT
  167. Font: TimesNewRomanPS-ItalicMT
  168.  
  169. Font Family: Trebuchet MS
  170. Font: TrebuchetMS-Italic
  171. Font: TrebuchetMS
  172. Font: Trebuchet-BoldItalic
  173. Font: TrebuchetMS-Bold
  174.  
  175. Font Family: Verdana
  176. Font: Verdana-Bold
  177. Font: Verdana-BoldItalic
  178. Font: Verdana
  179. Font: Verdana-Italic
  180.  
  181. Font Family: Zapfino
  182. Font: Zapfino
  183. */
  184.  
  185. //文本对齐方式
  186. /* Values for NSTextAlignment */
  187. /*
  188. NSTextAlignmentLeft 左对齐
  189. NSTextAlignmentCenter 剧中对齐
  190. NSTextAlignmentRight 右对齐
  191. NSTextAlignmentJustified 两端对齐
  192. NSTextAlignmentNatural 根据显示的文字特性对齐
  193. */
  194.  
  195. //段落样式
  196. /*
  197. lineSpacing; 来增加行距
  198. paragraphSpacing;
  199. alignment; 对齐
  200. firstLineHeadIndent; 段落开始的缩排像素
  201. headIndent; 可调整全部文字的缩排距离,可当作左边 padding 使用
  202. tailIndent; 可调整文字尾端的缩排距离。需要注意的是,这里指定的值可以当作文字显示的宽、而也可当作右边 padding 使用,依据输入的正负值而定:
  203. lineBreakMode;
  204. minimumLineHeight;
  205. maximumLineHeight; 而针对不同的字型与字号,我们可以透过指定最大与最小行距(maximumLineHeight 与 minimumLineHeight)来避免过高或过窄的状况发生。
  206. baseWritingDirection;
  207. lineHeightMultiple; 想要调整行距,可以透过搭配使用 lineHeightMultiple 更改行距倍数
  208. paragraphSpacingBefore; 而若是文章内容有分段落的话,也可以透过指定段落结尾距离(paragraphSpacing)以及段落开头距离(paragraphSpacingBefore):
  209. hyphenationFactor;
  210. @property(readwrite,copy,NS_NONATOMIC_IOSONLY) NSArray *tabStops NS_AVAILABLE_IOS(7_0);
  211. @property(readwrite,NS_NONATOMIC_IOSONLY) CGFloat defaultTabInterval NS_AVAILABLE_IOS(7_0);
  212. */
  213.  
  214. /* Predefined character attributes for text. If the key is not in the dictionary, then use the default values as described below. //预定义的文本属性值,如果键不是一个字典,那么使用默认的值作为以下描述
  215. NSFontAttributeName 字体 默认是Helvetica 12号
  216. NSParagraphStyleAttributeName 段落样式
  217. */
  218. /*
  219. UIKIT_EXTERN NSString *const NS_AVAILABLE_IOS(6_0); // NSParagraphStyle, default defaultParagraphStyle
  220. UIKIT_EXTERN NSString *const NSForegroundColorAttributeName NS_AVAILABLE_IOS(6_0); // UIColor, default blackColor
  221. UIKIT_EXTERN NSString *const NSBackgroundColorAttributeName NS_AVAILABLE_IOS(6_0); // UIColor, default nil: no background
  222. UIKIT_EXTERN NSString *const NSLigatureAttributeName NS_AVAILABLE_IOS(6_0); // NSNumber containing integer, default 1: default ligatures, 0: no ligatures
  223. UIKIT_EXTERN NSString *const NSKernAttributeName NS_AVAILABLE_IOS(6_0); // NSNumber containing floating point value, in points; amount to modify default kerning. 0 means kerning is disabled. (note: values other than nil and 0 are unsupported on iOS)
  224. UIKIT_EXTERN NSString *const NSStrikethroughStyleAttributeName NS_AVAILABLE_IOS(6_0); // NSNumber containing integer, default 0: no strikethrough
  225. UIKIT_EXTERN NSString *const NSUnderlineStyleAttributeName NS_AVAILABLE_IOS(6_0); // NSNumber containing integer, default 0: no underline
  226. UIKIT_EXTERN NSString *const NSStrokeColorAttributeName NS_AVAILABLE_IOS(6_0); // UIColor, default nil: same as foreground color
  227. UIKIT_EXTERN NSString *const NSStrokeWidthAttributeName NS_AVAILABLE_IOS(6_0); // 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)
  228. UIKIT_EXTERN NSString *const NSShadowAttributeName NS_AVAILABLE_IOS(6_0); // NSShadow, default nil: no shadow
  229. UIKIT_EXTERN NSString *const NSTextEffectAttributeName NS_AVAILABLE_IOS(7_0); // NSString, default nil: no text effect
  230.  
  231. UIKIT_EXTERN NSString *const NSAttachmentAttributeName NS_AVAILABLE_IOS(7_0); // NSTextAttachment, default nil
  232. UIKIT_EXTERN NSString *const NSLinkAttributeName NS_AVAILABLE_IOS(7_0); // NSURL (preferred) or NSString
  233. UIKIT_EXTERN NSString *const NSBaselineOffsetAttributeName NS_AVAILABLE_IOS(7_0); // NSNumber containing floating point value, in points; offset from baseline, default 0
  234. UIKIT_EXTERN NSString *const NSUnderlineColorAttributeName NS_AVAILABLE_IOS(7_0); // UIColor, default nil: same as foreground color
  235. UIKIT_EXTERN NSString *const NSStrikethroughColorAttributeName NS_AVAILABLE_IOS(7_0); // UIColor, default nil: same as foreground color
  236. UIKIT_EXTERN NSString *const NSObliquenessAttributeName NS_AVAILABLE_IOS(7_0); // NSNumber containing floating point value; skew to be applied to glyphs, default 0: no skew
  237. UIKIT_EXTERN NSString *const NSExpansionAttributeName NS_AVAILABLE_IOS(7_0); // NSNumber containing floating point value; log of expansion factor to be applied to glyphs, default 0: no expansion
  238.  
  239. UIKIT_EXTERN NSString *const NSWritingDirectionAttributeName NS_AVAILABLE_IOS(7_0); // NSArray of NSNumbers representing the nested levels of writing direction overrides as defined by Unicode LRE, RLE, LRO, and RLO characters. The control characters can be obtained by masking NSWritingDirection and NSTextWritingDirection values. LRE: NSWritingDirectionLeftToRight|NSTextWritingDirectionEmbedding, RLE: NSWritingDirectionRightToLeft|NSTextWritingDirectionEmbedding, LRO: NSWritingDirectionLeftToRight|NSTextWritingDirectionOverride, RLO: NSWritingDirectionRightToLeft|NSTextWritingDirectionOverride,
  240.  
  241. UIKIT_EXTERN NSString *const NSVerticalGlyphFormAttributeName NS_AVAILABLE_IOS(6_0); // An NSNumber containing an integer value. 0 means horizontal text. 1 indicates vertical text. If not specified, it could follow higher-level vertical orientation settings. Currently on iOS, it's always horizontal. The behavior for any other value is undefined.
  242. */
  243.  
  244. // NSParagraphStyle 段落样式
  245. // typedef NS_ENUM(NSInteger, NSLineBreakMode) { /* What to do with long lines */ //对于长内容或多行内容的处理方式
  246. // NSLineBreakByWordWrapping = 0, /* Wrap at word boundaries, default */ //按包含单词为界限截断
  247. // NSLineBreakByCharWrapping, /* Wrap at character boundaries */ //按字符为界限截断
  248. // NSLineBreakByClipping, /* Simply clip */ //简单的修剪
  249. // NSLineBreakByTruncatingHead, /* Truncate at head of line: "...wxyz" */ //截断头部
  250. // NSLineBreakByTruncatingTail, /* Truncate at tail of line: "abcd..." */ //截断尾巴
  251. // NSLineBreakByTruncatingMiddle /* Truncate middle of line: "ab...yz" */ //截断中间
  252. // } NS_ENUM_AVAILABLE_IOS(6_0);
  253. }
  254. //获取斜体
  255. UIFont * GetVariationOfFontWithTrait(UIFont *baseFont,
  256. CTFontSymbolicTraits trait) {
  257. CGFloat fontSize = [baseFont pointSize];
  258. CFStringRef
  259. baseFontName = (__bridge CFStringRef)[baseFont fontName];
  260. CTFontRef baseCTFont = CTFontCreateWithName(baseFontName,
  261. fontSize, NULL);
  262. CTFontRef ctFont =
  263. CTFontCreateCopyWithSymbolicTraits(baseCTFont, 0, NULL,
  264. trait, trait);
  265. NSString *variantFontName =
  266. CFBridgingRelease(CTFontCopyName(ctFont,
  267. kCTFontPostScriptNameKey));
  268.  
  269. UIFont *variantFont = [UIFont fontWithName:variantFontName
  270. size:fontSize];
  271. CFRelease(ctFont);
  272. CFRelease(baseCTFont);
  273. return variantFont;
  274. };
  275.  
  276. - (void)didReceiveMemoryWarning
  277. {
  278. [super didReceiveMemoryWarning];
  279. // Dispose of any resources that can be recreated.
  280. }
  281.  
  282. @end

本文转自http://duchengjiu.iteye.com/blog/2041391

(转)UILabel常用属性的更多相关文章

  1. 【iOS】UILabel 常用属性设置

    UILabel 的一些常用属性,示例代码如下: // 字体大小 label.font = [UIFont systemFontOfSize:14.0]; label.font = [UIFont fo ...

  2. UILabel常用属性小结

    标签常用的属性: (1)frame属性:设置标签的位置与大小. frame = CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat heig ...

  3. UILabel常用属性

    [super viewDidLoad]; // 实例化UILabel并指定其边框 UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0 ...

  4. UILabel的常用属性

    UILabel常用属性1——实例化和设置文字 // 实例化UILabel并指定其边框 UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake ...

  5. ios基础篇(四)——UILabel的常用属性及方法

    UILabel的常用属性及方法:1.text //设置和读取文本内容,默认为nil label.text = @”文本信息”; //设置内容 NSLog(@”%@”, label.text); //读 ...

  6. iOS UIView控件的常用属性和方法的总结

    一 UIVIew 常见属性1.frame 位置和尺寸(以父控件的左上角为原点(0,0))2.center 中点 (以父控件的左上角为原点(0,0))3.bounds 位置和尺寸(以自己的左上角为原点 ...

  7. 【Android自学日记】五大布局常用属性

    线性布局(LinearLayout)常用属性: android:orientation="vertical"--决定子类控件的排布方式(vertical垂直:horizontal水 ...

  8. DataGrid中的常用属性

    DataGrid中的常用属性 $('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',w ...

  9. Node.js process 模块常用属性和方法

    Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...

随机推荐

  1. 2016级萌新选拔赛BE题

    #include<bits/stdc++.h> using namespace std; #define ll long long ll a[]; ll d[]; int main() { ...

  2. (洛谷P2512||bzoj1045) [HAOI2008]糖果传递 || 洛谷P4016 负载平衡问题 || UVA11300 Spreading the Wealth || (洛谷P3156||bzoj3293) [CQOI2011]分金币

    bzoj1045 洛谷P4016 洛谷P2512 bzoj3293 洛谷P3156 题解:https://www.luogu.org/blog/LittleRewriter/solution-p251 ...

  3. MySQL简单的确定瓶颈

    如果接到报警可能需要ssh看看瓶颈是什么,怎么下手 确定os层 确定磁盘是否够用的:df –h 再看看系统整体状态: top 哪些进程占用资源比较多,能杀就杀 系统的负载 vmstat看看wa值,r列 ...

  4. [转]Java 8 Optional类深度解析(null处理)

    原文链接:http://www.importnew.com/6675.html 本文由 ImportNew - 高俊阳 翻译自 javacodegeeks.欢迎加入翻译小组.转载请见文末要求. 身为一 ...

  5. IBatis.net特性展示代码

    最近公司计划设计新业务平台架构.数据访问层框架要使用ibatis.net.头让我做些例子给其他同事演示下 ibatis的基本特性.然后评估下看是否使用.本来以后上官方下载NPetshop演示下就行了那 ...

  6. P1216 [USACO1.5]数字三角形 Number Triangles

    题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下方的点. 7 3 8 8 1 0 2 7 4 4 4 5 ...

  7. iOS 字符串处理笔记

    iOS字符串处理笔记,包括如何使用正则表达式解析,NSScanner扫描,设置和使用CoreParse解析器来解析处理自定义符号等内容 搜索 在一个字符串中搜索子字符串 最灵活的方法 - (NSRan ...

  8. COGS 930. [河南省队2012] 找第k小的数

    题目描述 看到很短的题目会让人心情愉悦,所以给出一个长度为N的序列A1,A2,A3,...,AN, 现在有M个询问,每个询问都是Ai...Aj中第k小的数等于多少. 输入格式 第一行两个正整数N,M. ...

  9. 对于exacoin虚拟币以及其他虚拟币乱象的思考

    今天晚上12点正,我帮两个朋友购买exacoin虚拟币,当然我也购买,为了购买我做了充分的准备,包括使用多个浏览器和准备良好的***代理,并转如足量BTC以支持购买,但是通过三天晚上的奋战,让我感觉这 ...

  10. WPF中Canvas使用

    首先知道Canvas有Left.Right.Top和Bottom这四个属性,放入Canvas的元素通过这四个属性来决定它们在Canvas里面的位置. 比如: Xaml: <Canvas Hori ...