IOS中自定义段落样式及大小的计算
2017-06-16 16:32
204 查看
首先设置段落样式用到了这个类
NSMutableParagraphStyle以及NSAttributedString的NSParagraphStyleAttributeName属性
创建一个段落风格 为其填充一些所需属性
然后将此风格赋值至某段字符串的NSParagraphStyleAttributeName属性内
至此就完成了段落样式的赋值
接下来用boundingRectWithSize方法 填充相同的段落样式来计算此段文字的宽度或高度 如下
取得rect.size 就是所需的此段落样式下文字的宽度或高度
NSMutableParagraphStyle以及NSAttributedString的NSParagraphStyleAttributeName属性
创建一个段落风格 为其填充一些所需属性
//创建 NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; //断行模式 [paragraphStyle setLineBreakMode:NSLineBreakByWordWrapping]; //书写方向 [paragraphStyle setBaseWritingDirection:NSWritingDirectionLeftToRight]; //字间距 [paragraphStyle setLineSpacing:5.0f]; //行间距倍数 [paragraphStyle setLineHeightMultiple:1.5f]; //对齐方式 [paragraphStyle setAlignment:NSTextAlignmentCenter]; //首行缩进 [paragraphStyle setFirstLineHeadIndent:20.0f]; //段落前端缩进 (不包括首行) [paragraphStyle setHeadIndent:10.0f]; //段落尾端缩进 (注意 这里的尾端缩进的参数并非是缩进的数值,而是显示的总长度) [paragraphStyle setTailIndent:Screen_Width - margin * 2 - 10]; //最小行高 [paragraphStyle setMinimumLineHeight:20.0f]; //最大行高 [paragraphStyle setMaximumLineHeight:30.0f]; //段间距 [paragraphStyle setParagraphSpacing:10.0f]; //连字符属性(范围在0-1之间) [paragraphStyle setHyphenationFactor:0.3];
然后将此风格赋值至某段字符串的NSParagraphStyleAttributeName属性内
UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero]; label.numberOfLines = 0; label.attributedText = [[NSAttributedString alloc] initWithString:showText attributes:@{NSParagraphStyleAttributeName:paragraphStyle}];
至此就完成了段落样式的赋值
接下来用boundingRectWithSize方法 填充相同的段落样式来计算此段文字的宽度或高度 如下
float max = 8000; CGRect rect = [string boundingRectWithSize:CGSizeMake(width, max)//限制最大的宽度和高度 options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading |NSStringDrawingUsesLineFragmentOrigin//采用换行模式 attributes:@{NSFontAttributeName: font,NSParagraphStyleAttributeName:paragraphStyle}//传人的字体字典 context:nil]; CGRect rect = [string boundingRectWithSize:CGSizeMake(max, height)//限制最大的宽度和高度 options:NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesFontLeading |NSStringDrawingUsesLineFragmentOrigin//采用换行模式 attributes:@{NSFontAttributeName: font,NSParagraphStyleAttributeName:paragraphStyle}//传人的字体字典 context:nil];
取得rect.size 就是所需的此段落样式下文字的宽度或高度
相关文章推荐
- iOS 根据字符串样式、字符串长度计算字符串所占大小
- ios自定义View自动布局时计算大小
- iOS 计算富文本高度和设置段落样式
- iOS中计算缓存文件的大小判断
- Android 修改全局自定义字体样式(字形,大小)※
- [ios] 自定义UIAlertView样式,实现可替换背景和按钮 【转】
- ios 计算文件夹大小 列举目录/文件
- 【IOS】自定义UIAlertView样式,实现可替换背景和按钮
- iOS 修改SearchBar的Textfiled的Cursor游标颜色和字体样式和大小;Disable输入框
- iOS开发-ios7样式绕圈活动指示器(自定义Activity Indicator View)
- IOS中计算文件的大小
- Java代码 自定义Android RatingBar 样式 【调整大小】
- AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小
- IOS中计算文字的Size大小
- iOS中计算文件夹中文件大小
- ios开发之改变UIWebView文本字体的样式和大小
- 自定义AlertDialog样式,根据屏幕大小来显示
- 【IOS】自定义UIAlertView样式,实现可替换背景和按钮
- iOS开发 自定义tableView样式(使用代码/使用Interface Builder)、分组显示、给TableView增加索引、给TableView增加SearchBariOS开发 自定义tab
- 【IOS】自定义UIAlertView样式,实现可替换背景和按钮