iOS中实现获取文本内容的宽高
来源:互联网 发布:赛事专用软件源码php 编辑:程序博客网 时间:2024/05/22 02:02
我们在进行iOS开发的过程中,难免会要得到文本内容的宽高。我们可以把实现获取得到的文本内容的宽高的方法封装到NSString类的分类中,在iOS开发中也方便直接拿来使用。
例如:我们进行即时通讯的聊天功能开发时就会用到iOS中TableView,将一段聊天内容显示在cell中,如图,红色框框就是TableView中的cell:
当我们把要发送的文本内容发送出去时,最后文本内容就会显示在聊天界面,我们在实际开发中就不但要对当前时间和头像的显示进行布局,还要对发送出去的文本内容进行布局,这时就要得到文本内容的X值、Y值,以及它的宽(width)和高(height),X和Y可以很容易就可以得到,关键是要得到文本内容的宽和高,如图红色框框:
我们可以通过使用OC中NSString的分类来实现,如下就是一个封装好的分类(在以后实际的开发中可以拿出来直接使用):
NSString+Extension.h
#import <Foundation/Foundation.h>@interface NSString (Extension)/** * 计算文本占用的宽高 * * @param font 显示的字体 * @param maxSize 最大的显示范围 * * @return 占用的宽高 */- (CGSize)sizeWithFont:(UIFont *)font maxSize:(CGSize)maxSize;@end
NSString+Extension.m
#import "NSString+Extension.h"@implementation NSString (Extension)- (CGSize)sizeWithFont:(UIFont *)font maxSize:(CGSize)maxSize{ NSDictionary *dict = @{NSFontAttributeName: font}; CGSize textSize = [self boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size; return textSize;}@end
当我们要得到文本内容时就可以上面的代码加到我们的项目文件中去,我们通过NSString对象调用- (CGSize)sizeWithFont:(UIFont *)font maxSize:(CGSize)maxSize方法就可以返回CGSize类型的文本宽高了。其中,font参数是我们设置的字体属性(大小),maxSize是我们设置的文本内容的最大宽高。
0 0
- iOS中实现获取文本内容的宽高
- iOS中计算文本的宽高
- iOS 获取文本内容的高度
- unity中获取button文本的内容
- 获取自定义View中Text文本的实际宽高
- ios计算文本的宽高
- 获取静态文本的内容
- 如何获取在编辑框中选择的文本内容
- mfc中,COMBOBOX如何获取输入的文本内容
- 获取浏览器中鼠标选中的文本内容
- 使用 webdriver 从标签中获取文本内容的方法
- 根据文本内容动态确定Label的宽高
- iOS7实现带文本输入框的UIAlertView及获取TextField文本内容
- 从Webbrowser中获取文本内容
- 获取文本的宽高(包含行间距)
- UGUI Text组件实际文本宽高的获取
- iOS中获取文本的高度与宽度
- 移动端html5页面长按实现高亮全选文本内容的兼容解决方案
- 算法导论学习笔记(二)分治策略之最大子数组
- javascript中Object.create与new的不同
- OpenCV学习之安装
- 343. Integer Break
- 2.一个奇怪的fork程序
- iOS中实现获取文本内容的宽高
- 实习面试经验
- 3.fork()到底干了啥?
- JAVA为什么要配置环境变量,怎样配置
- Redis和Memcache对比及选择
- MOOC的Python笔记(三)基本算术、逻辑操作符
- [Python]整数和浮点数,布尔类型
- linux和vi命令技巧
- 数据结构与逻辑代码(一)