UILabel上展示不同样式的文字(NSAttributedString)
来源:互联网 发布:四川商会网络信息公司 编辑:程序博客网 时间:2024/06/08 05:45
NSMutableAttributedString *titleAttriString = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@”¥200现金券”]];
[titleAttriString addAttribute:NSFontAttributeName
value:[UIFont systemFontOfSize:25]
range:NSMakeRange(0, titleAttriString.length - 3)];
[titleAttriString addAttribute:NSFontAttributeName
value:[UIFont systemFontOfSize:14]
range:NSMakeRange(titleAttriString.length - 3,3)];
[titleLb setAttributedText:titleAttriString];
注意:
NSMakeRange(文字的起始位置,文字长度)
换行的实现
如果想要计算NSAttributedString所要的size,就需要用到这个API:
CTFramesetterSuggestFrameSizeWithConstraints,用NSString的sizeWithFont算多行时会算不准的,因为在CoreText里,行间距也是你来控制的。
设置行间距和换行模式都是设置一个属性:kCTParagraphStyleAttributeName,这个属性里面又分为很多子
属性,其中就包括
kCTLineBreakByCharWrapping
kCTParagraphStyleSpecifierLineSpacingAdjustment
设置如下:
//————-取消注释,实现换行————-
CTParagraphStyleSetting lineBreakMode;
CTLineBreakMode lineBreak = kCTLineBreakByCharWrapping; //换行模式
lineBreakMode.spec = kCTParagraphStyleSpecifierLineBreakMode;
lineBreakMode.value = &lineBreak;
lineBreakMode.valueSize = sizeof(CTLineBreakMode);
//行间距
CTParagraphStyleSetting LineSpacing;
CGFloat spacing = 4.0; //指定间距
LineSpacing.spec = kCTParagraphStyleSpecifierLineSpacingAdjustment;
LineSpacing.value = &spacing;
LineSpacing.valueSize = sizeof(CGFloat);
CTParagraphStyleSetting settings[] = {lineBreakMode,LineSpacing};
CTParagraphStyleRef paragraphStyle = CTParagraphStyleCreate(settings, 2); //第二个参数为settings的长度
[attriString addAttribute:(NSString *)kCTParagraphStyleAttributeName
value:(id)paragraphStyle
range:NSMakeRange(0, attriString.length)];
- UILabel上展示不同样式的文字(NSAttributedString)
- UILabel上展示不同颜色的文字(NSAttributedString)
- UILabel上展示不同颜色的文字(NSAttributedString)
- UILabel上展示不同颜色的文字(NSAttributedString)
- iOS UILabel利用NSMutableString显示不同样式的文字
- UILabel上文字的自适应
- UIlabel 文字颜色不同
- iOS巅峰之UILabel上显示不同的字体样式和颜色
- UILabel上的文字 单独改变 属性
- UIMenuController,复制UILabel上的文字
- UILabel样式自定义(同一个Label展示不同颜色,字体)
- UILabel样式自定义(同一个Label展示不同颜色,字体)
- css (文字链接表格)定制不同的样式
- NGUI-使用UILabel呈现图片和不同格式的文字
- NGUI-使用UILabel呈现图片和不同格式的文字
- js实现的鼠标放上和移开显示不同图片和文字,样式比较好看
- 多条目展示ListView(如:有两种不同的布局图片在listview条目上展示)
- UILabel文字上对齐方法
- INTELLIJ idea 注册码
- ZOJ - 3861 Valid Pattern Lock(dfs或其他,两种解法)
- 2015-4-14_OC
- 2015-4-15_OC
- LeetCode - Populating Next Right Pointers in Each Node I && II
- UILabel上展示不同样式的文字(NSAttributedString)
- 关于precision-recall曲线下降特性的探讨
- Linux shell 正则表达式(BREs,EREs,PREs)差异比较
- MATLAB读取和写入Excel文件
- Class.forName java.lang.reflect.Constructor反射调用有参构造函数和无参构造函数的方法
- CSDN-markdown编辑器的使用-备忘
- [BZOJ3670][Noi2014]动物园 && KMP
- Android手势操作
- 20150415