ios ASTextNode中富文本多行中文显示问题解决方法
来源:互联网 发布:淘宝上网教可靠吗 编辑:程序博客网 时间:2024/06/05 12:03
在使用ASTextNode计算view的高度时,利用富文本计算高度的方法计算多行中文显示时,会在底部多出一些空白区域的高度
简单点说,1.中文字符串在利用NSAttributedString 的boundingRectWithSize:options:context来计算ASTextNode的高度时,实际高度比需要的高度高出一些区域
2.纯英文字符在利用上面的函数计算高度时是没有问题的
我猜想,因为AS框架是老外写的,估计对中文的支持不够吧???
中文字符高度计算正确的解决方案:
attrString为需要计算高度的富文本字符串
CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((__bridge CFAttributedStringRef)attrString);
CGSize targetSize = CGSizeMake(kScreenWidth, CGFLOAT_MAX);
CGSize fitSize = CTFramesetterSuggestFrameSizeWithConstraints(framesetter, CFRangeMake(0, [attrString length]), NULL, targetSize, NULL);
CFRelease(framesetter);
然后我门就可以拿到fitSize的高度和宽度,然后就可以给view赋值高度了
fitSize.width 和 fitSize.height
阅读全文
0 0
- ios ASTextNode中富文本多行中文显示问题解决方法
- iOS lable设置富文本后在最后一行没有显示省略号的问题解决
- Android 中textview显示富文本信息
- Android中TextView的富文本显示
- TextView富文本显示
- UILabel显示富文本
- qlistview 显示富文本
- iOS 10.3之后的富文本样式对中文实效
- vim中文显示问题解决方法
- cocos2d-x中中文显示问题解决方法一
- cocos2d-x中中文显示问题解决方法二
- ios 富文本编辑器
- iOS之富文本
- iOS之富文本
- ios之富文本
- iOS之富文本
- iOS之富文本
- iOS 富文本 AttributedString
- C++中显示调用构造函数和析构函数
- 静态通讯录的实现
- MFC编程--tab control控件的使用
- Java集合:整体结构
- MySQL约束之创建约束
- ios ASTextNode中富文本多行中文显示问题解决方法
- 修改linux文件权限命令:chmod超级详细讲解
- Log4j使用相对路径指定log文件及使用总结
- 求文章的段落的句子个数,句子平均数以及句子的标准差
- 智能一代云平台(三十六):项目中如何做到避免传递依赖
- Java集合类:AbstractCollection源码解析
- TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议
- CentOS 7 下 WEB 项目运行环境初始化
- mysql linux下mysql取消区分大小写