iOS UILabel设置行间距和字间距并计算高度
转载自: http://blog.csdn.net/luco2008/article/details/50977718
#define UILABEL_LINE_SPACE 6
#define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height
//给UILabel设置行间距和字间距
-(void)setLabelSpace:(UILabel*)label withValue:(NSString*)str withFont:(UIFont*)font {
NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStyle alloc] init];
paraStyle.lineBreakMode = NSLineBreakByCharWrapping;
paraStyle.alignment = NSTextAlignmentLeft;
paraStyle.lineSpacing = UILABEL_LINE_SPACE; //设置行间距
paraStyle.hyphenationFactor = 1.0;
paraStyle.firstLineHeadIndent = 0.0;
paraStyle.paragraphSpacingBefore = 0.0;
paraStyle.headIndent = 0;
paraStyle.tailIndent = 0;
//设置字间距 NSKernAttributeName:@1.5f
NSDictionary *dic = @{NSFontAttributeName:font, NSParagraphStyleAttributeName:paraStyle, NSKernAttributeName:@1.5f
};
NSAttributedString *attributeStr = [[NSAttributedString alloc] initWithString:str attributes:dic];
label.attributedText = attributeStr;
}
//计算UILabel的高度(带有行间距的情况)
-(CGFloat)getSpaceLabelHeight:(NSString*)str withFont:(UIFont*)font withWidth:(CGFloat)width {
NSMutableParagraphStyle *paraStyle = [[NSMutableParagraphStyle alloc] init];
paraStyle.lineBreakMode = NSLineBreakByCharWrapping;
paraStyle.alignment = NSTextAlignmentLeft;
paraStyle.lineSpacing = UILABEL_LINE_SPACE;
paraStyle.hyphenationFactor = 1.0;
paraStyle.firstLineHeadIndent = 0.0;
paraStyle.paragraphSpacingBefore = 0.0;
paraStyle.headIndent = 0;
paraStyle.tailIndent = 0;
NSDictionary *dic = @{NSFontAttributeName:font, NSParagraphStyleAttributeName:paraStyle, NSKernAttributeName:@1.5f
};
CGSize size = [str boundingRectWithSize:CGSizeMake(width, HEIGHT) options:NSStringDrawingUsesLineFragmentOriginattributes:dic context:nil].size;
return size.height;
}
iOS UILabel设置行间距和字间距并计算高度相关推荐
- iOS UILabel 设置 行间距 和 字间距 并计算高度
#define UILABEL_LINE_SPACE 6 #define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height //给UILabe ...
- iOS开发技巧之:UILabel设置行间距和字间距并计算高度
#define UILABEL_LINE_SPACE 6 #define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height //给UILabe ...
- Java富文本设置行间距,设置行间距、字间距和计算富文本高度
上篇文章<富文本用法总结>详细码了关于富文本的一些用法,有介绍行间距的设置方法.在实际开发中经常需要根据后台返回的文字计算控件宽度和高度进行布局,这篇就配合上一篇来设置字间距和计算高度. ...
- UILabel的行间距,字间距处理
啥都不说了,直接上代码,做了一个Category #import <UIKit/UIKit.h> @interface UILabel (ChangeLineSpaceAndWordSpa ...
- 如何设置行间距和字间距?
设置行间距和字之间的距离需要用到css样式.用line-height设置行间距:用letter-spacing设置字间距.具体如下: <!DOCTYPE HTML> <html> ...
- UIlabel的行间距和字间距
比如一个Label的默认间距效果是这样 然后用一个封装起来的Category来调整这部分文字的行间 [UILabel changeLineSpaceForLabel:cell.describeLabe ...
- textview点击展开全部或收起,内容过长显示省略号,设置行间距,字间距,跑马灯显示
跑马灯显示 android:ellipsize="marquee" android:singleLine="true" paomad.setSelected(t ...
- CSS设置行间距和字间距
CSS设置行间距 在CSS中通过line-height属性来实现行间距的设置,line-height的值表示的是两行文字之间基线的距离. 文字的基线,指的是如果给文字加上下划线,那么上下划线就是文字的 ...
- ios label文字行间距_iOS UILabel添加行间距、字间距
写在前面 在实际开发中,Label的默认行间距大小一般都是满足不了UI设计师设计的行间距大小的.于是乎,就需要我们开发人员手动调整Label的行间距大小. 然而,UILabel并没有提供直接修改行间距 ...
最新文章
- 修改 ShiroUser 缓存用户
- 杂项相关工具的使用方法(边刷题边更新...)
- 第8章例题 6-4 输入年份和天数,输出对应的年、月、日
- 双向重定向指令 tee
- oracle 日志解析工具,Oracle logminer 日志分析工具使用
- 虚拟化实验室推进计算机网络专业实践教学的解决方案
- 小程序tabBar无效
- 1、高动态范围成像介绍
- scl语言用plc脉冲做定时器_请问SCL语言如何调用定时器
- 手把手教你用GAN实现半监督学习
- 集成学习(随机森林)
- 冬天来了,分享几个网页下雪js特效
- 文章随笔日记完全不通呀
- Oracle入门--水表项目(单表查询,链接查询,左右外连接,子查询,分页查询)(3)
- 日常记录:java JMX获取MBean从而获取目标应用的pid
- 嘉善 机器人比赛_嘉兴市教育局门户网站 动态信息 嘉善县第二届中小学电脑制作暨机器人比赛活动在浙师大附属嘉善实验学校举行...
- 深入浅出虚拟 DOM 和 Diff 算法,及 Vue2 与 Vue3 中的区别
- IntelliJ IDEA 设置自动换行 + 热键
- 简单制作飞机大战游戏。
- python之sympy库--数学符号计算与绘图必备
热门文章
- input失去焦点验证格式_在文本框的onblur事件里写验证信息
- 解决anaconda下载时的Traceback报错问题
- Tackling Data Heterogeneity in Federated Learning with Class Prototypes, AAAI 2023
- JavaScript篇.day02-分支结构(if,switch)
- 【记录】开源软件缺陷定位工具合集(fault localization tool)
- 金蝉素数c语言,算法笔记_204:第四届蓝桥杯软件类决赛真题(Java语言C组)
- 超详细的MES制造执行系统介绍——工艺管理
- Python中缺失值删除 pd.dropna()函数
- Junit的入门知识
- 建立新零售生态系统的基本准则及数字化订单管理系统