【iOS 开发】Xcode6中计算文字的宽度或高度 ——伊禾媛
来源:互联网 发布:随身淘宝去异界书包网 编辑:程序博客网 时间:2024/05/21 01:53
此文内容主要实现在Xcode6中计算文字宽高,让label或tableViewCell自适应宽高。
我将它封装起来,方便多处使用。
需传入的三个参数:计算的字符串、字体大小、显示的宽(高)
//计算高度+ (CGFloat)getTheStringHeight:(NSString *)string setFont:(CGFloat)font withWidth:(CGFloat)width { NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:string]; NSRange range = NSMakeRange(0, attrStr.length); //设置字体 [attrStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:font] range:range]; NSDictionary *dic = [attrStr attributesAtIndex:0 effectiveRange:&range]; // 获取该段attributedString CGSize textSize = [string boundingRectWithSize:CGSizeMake(<span style="font-family: Arial, Helvetica, sans-serif;">width</span><span style="font-family: Arial, Helvetica, sans-serif;">, MAXFLOAT) // 用于计算文本绘制时占据的矩形块</span> options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading // 文本绘制时的附加选项 attributes:dic // 文字的属性 context:nil].size; // context上下文。包括一些信息,例如如何调整字间距以及缩放。该对象包含的信息将用于文本绘制。该参数可为nil return textSize.height;}//计算宽度+ (CGFloat)getTheStringWidth:(NSString *)string setFont:(CGFloat)font withHeight:(CGFloat)height { NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:string]; NSRange range = NSMakeRange(0, attrStr.length); //设置字体 [attrStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:font] range:range]; NSDictionary *dic = [attrStr attributesAtIndex:0 effectiveRange:&range]; // 获取该段attributedString CGSize textSize = [string boundingRectWithSize:CGSizeMake(MAXFLOAT, height) // 用于计算文本绘制时占据的矩形块 options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading // 文本绘制时的附加选项 attributes:dic // 文字的属性 context:nil].size; // context上下文。包括一些信息,例如如何调整字间距以及缩放。该对象包含的信息将用于文本绘制。该参数可为nil return textSize.width;}
0 0
- 【iOS 开发】Xcode6中计算文字的宽度或高度 ——伊禾媛
- iOS开发动态计算cell高度或UILabel多行文本计算高度、宽度的技巧
- iOS自定义控件中动态计算文字控件的高度宽度
- iOS 动态计算文字高度和宽度
- ios 动态计算文本的高度或宽度
- 计算文字的宽度和高度
- 计算文字的高度和宽度
- [IOS 开发] NSString-计算文本的宽度和高度
- IOS开发中UILabel单行、多行文本计算高度、宽度的技巧
- IOS开发中UILabel单行、多行文本计算高度、宽度的技巧
- IOS开发中UILabel单行、多行文本计算高度、宽度的技巧
- IOS开发中UILabel单行、多行文本计算高度、宽度的技巧
- iOS 计算文字的高度
- iOS开发之计算文字宽度
- 计算文字高度和宽度
- ios开发中计算字符串的高度
- iOS 计算label的宽度和高度
- iOS中动态计算不同颜色、字体的文字高度
- Java之美[从菜鸟到高手演练]之atomic包的原理及分析
- 【java】单例模式的两种实现方式
- 笔记整理(java基础六-----异常)
- 【译】resin4.0 API——resin.xml
- WPA/WPA2安全认证加密原理详解
- 【iOS 开发】Xcode6中计算文字的宽度或高度 ——伊禾媛
- 关于VS2010,C#环境下无法调整到Release模型下的解决方案
- 郁闷的出纳员——动态统计(Treap,ST,Splay,BIT)
- 笔记整理(java基础七-----问题整理)
- 三大WEB服务器对比分析(apache ,lighttpd,nginx)
- 笔记整理(java基础八-----多线程)
- 二维码的分类
- 构建Java并发模型框架
- 【Android】 FragmentTabHost+Fragment实现多标签页