CoreText
2016-02-27 17:30
417 查看
UILabel *lab = [[UILabel
alloc] initWithFrame:CGRectMake(50,
100, self.view.frame.size.width
- 100, 300)];
lab.backgroundColor = [UIColor
yellowColor];
lab.numberOfLines =
0;
[self.view
addSubview:lab];
//\n换行符为另起一段开头
NSString *str =
@"时间啊法律框架地方分身乏术的风景是打发时间发空间上的繁花似锦分\n好的\n哈手机东方哈可当爽肤水绝代风华
数据库和罚款多少发酒疯";
NSMutableAttributedString *attributeStr = [[NSMutableAttributedString
alloc] initWithString:str];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle
alloc] init];
paragraphStyle.paragraphSpacing =
20; //段落间距
paragraphStyle.firstLineHeadIndent =
30; //首行缩进
paragraphStyle.headIndent =
10; //除了首行外的每一行缩进
paragraphStyle.lineBreakMode =
1; //断行模式,0为按词断行,1为按字断行。。。。。。
paragraphStyle.alignment =
NSTextAlignmentLeft; //左对齐
// NSParagraphStyleAttributeName :
一个NSParagraphStyle,用于多段落设置,包括对齐方式,换行模式,缩进等.例如:[attributeStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle
range:NSMakeRange(0, str.length)];
[attributeStr addAttribute:NSParagraphStyleAttributeName
value:paragraphStyle range:NSMakeRange(0, str.length)];
// NSForegroundColorAttributeName | NSBackgroundColorAttributeName :
一个UIColor对象,用于这是文本颜色和文本背景颜色,例如:[attributeStr addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor]
range:NSMakeRange(0, str.length)];
[attributeStr addAttribute:NSForegroundColorAttributeName
value:[UIColor
redColor] range:NSMakeRange(0, str.length)];
// NSStrokeWidthAttributeName :
一个NSNumber: 存储一个CGFloat值,将笔画宽度定义为字体大小的百分比,负数将填充文字(文字加粗),正数将创建一种“空心”文字
例如:[attributeStr addAttribute:NSStrokeWidthAttributeName value:[NSNumber numberWithFloat:2] range:NSMakeRange(0, str.length)];
[attributeStr addAttribute:NSStrokeWidthAttributeName
value:[NSNumber
numberWithFloat:2]
range:NSMakeRange(0, str.length)];
// NSStrikethroughStyleAttributeName
: 一个NSNumber,0:不需要删除线, 1中间加删除线
[attributeStr addAttribute:NSStrikethroughStyleAttributeName
value:[NSNumber
numberWithBool:1]
range:NSMakeRange(0, str.length)];
// NSUnderlineStyleAttributeName
: 一个NSNumber,0:不需要下划线, 1加下划线
[attributeStr addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber
numberWithBool:1]
range:NSMakeRange(0, str.length)];
// NSShadowAttributeName :
一个NSShadow对象,用于设置阴影的颜色,偏移量,模糊半径
NSShadow *shadow = [[NSShadow
alloc] init];
shadow.shadowBlurRadius =
3.0; //阴影的模糊半径
shadow.shadowColor = [UIColor
blueColor];
shadow.shadowOffset =
CGSizeMake(-5,
5);
[attributeStr addAttribute:NSShadowAttributeName
value:shadow range:NSMakeRange(0, str.length)];
// NSKernAttributeName :
一个NSNumber,调整字体间距,负数可以使字体重叠,正数则表示字体间距
[attributeStr addAttribute:NSKernAttributeName
value:@(10)
range:NSMakeRange(0, str.length)];
lab.attributedText = attributeStr;
alloc] initWithFrame:CGRectMake(50,
100, self.view.frame.size.width
- 100, 300)];
lab.backgroundColor = [UIColor
yellowColor];
lab.numberOfLines =
0;
[self.view
addSubview:lab];
//\n换行符为另起一段开头
NSString *str =
@"时间啊法律框架地方分身乏术的风景是打发时间发空间上的繁花似锦分\n好的\n哈手机东方哈可当爽肤水绝代风华
数据库和罚款多少发酒疯";
NSMutableAttributedString *attributeStr = [[NSMutableAttributedString
alloc] initWithString:str];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle
alloc] init];
paragraphStyle.paragraphSpacing =
20; //段落间距
paragraphStyle.firstLineHeadIndent =
30; //首行缩进
paragraphStyle.headIndent =
10; //除了首行外的每一行缩进
paragraphStyle.lineBreakMode =
1; //断行模式,0为按词断行,1为按字断行。。。。。。
paragraphStyle.alignment =
NSTextAlignmentLeft; //左对齐
// NSParagraphStyleAttributeName :
一个NSParagraphStyle,用于多段落设置,包括对齐方式,换行模式,缩进等.例如:[attributeStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle
range:NSMakeRange(0, str.length)];
[attributeStr addAttribute:NSParagraphStyleAttributeName
value:paragraphStyle range:NSMakeRange(0, str.length)];
// NSForegroundColorAttributeName | NSBackgroundColorAttributeName :
一个UIColor对象,用于这是文本颜色和文本背景颜色,例如:[attributeStr addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor]
range:NSMakeRange(0, str.length)];
[attributeStr addAttribute:NSForegroundColorAttributeName
value:[UIColor
redColor] range:NSMakeRange(0, str.length)];
// NSStrokeWidthAttributeName :
一个NSNumber: 存储一个CGFloat值,将笔画宽度定义为字体大小的百分比,负数将填充文字(文字加粗),正数将创建一种“空心”文字
例如:[attributeStr addAttribute:NSStrokeWidthAttributeName value:[NSNumber numberWithFloat:2] range:NSMakeRange(0, str.length)];
[attributeStr addAttribute:NSStrokeWidthAttributeName
value:[NSNumber
numberWithFloat:2]
range:NSMakeRange(0, str.length)];
// NSStrikethroughStyleAttributeName
: 一个NSNumber,0:不需要删除线, 1中间加删除线
[attributeStr addAttribute:NSStrikethroughStyleAttributeName
value:[NSNumber
numberWithBool:1]
range:NSMakeRange(0, str.length)];
// NSUnderlineStyleAttributeName
: 一个NSNumber,0:不需要下划线, 1加下划线
[attributeStr addAttribute:NSUnderlineStyleAttributeName
value:[NSNumber
numberWithBool:1]
range:NSMakeRange(0, str.length)];
// NSShadowAttributeName :
一个NSShadow对象,用于设置阴影的颜色,偏移量,模糊半径
NSShadow *shadow = [[NSShadow
alloc] init];
shadow.shadowBlurRadius =
3.0; //阴影的模糊半径
shadow.shadowColor = [UIColor
blueColor];
shadow.shadowOffset =
CGSizeMake(-5,
5);
[attributeStr addAttribute:NSShadowAttributeName
value:shadow range:NSMakeRange(0, str.length)];
// NSKernAttributeName :
一个NSNumber,调整字体间距,负数可以使字体重叠,正数则表示字体间距
[attributeStr addAttribute:NSKernAttributeName
value:@(10)
range:NSMakeRange(0, str.length)];
lab.attributedText = attributeStr;
相关文章推荐
- 广师Android群分享之Android Resource
- Android应用开发中数据的保存方式总结
- 数字组合问题
- about “+=” operator in Java
- C++学习笔记49——继承中的复制构造函数与赋值操作符
- [LeetCode] Palindrome Permutation 回文全排列
- C#虚基类继承与接口的区别
- 通过源码看android系列之multidex库
- iOS中多线程原理与RunLoop一点介绍
- 日期计算c
- UVA 540
- 图的深度优先搜索/Depth-first search/C++
- Android FoldingLayout 折叠布局 原理及实现(二)
- git的一些命令
- [LeetCode][JavaScript]Patching Array
- ios开发必备第三方库
- Oracle Data Guard 重要配置参数
- java什么时候需要多线程 共享 变量
- HDOJ--4869--Turn the pokers【组合数学+高速幂】
- bash 操作 sqlite3