iOS-图文混排方案-2种方案
ios的图文混排有两种方案
1.使用NSTextAttachment
- (NSMutableAttributedString*)createTextImage:(NSString*)text witImage:(NSString*)imageName{NSMutableAttributedString *scaleStr= [[NSMutableAttributedString alloc] initWithString:text attributes:@{NSForegroundColorAttributeName:[UIColor whiteColor], NSFontAttributeName:PingFangBold(18)}];//添加图片NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];textAttachment.bounds = CGRectMake(0, 2, 12, 7); //根据图片位置进行调整textAttachment.image = [UIImage imageNamed:imageName];NSAttributedString *attributedImage = [NSAttributedString attributedStringWithAttachment:(NSTextAttachment *)(textAttachment)];//图片插入到文字后方[scaleStr appendAttributedString:attributedImage];//如果要插入到前面// [scaleStr insertAttributedString:attributedImage atIndex:0];return scaleStr;
}
2.使用YYText库,这个扩展性更好,如果做直播的话,可以用在聊天窗口,可以添加UIKit的控件,可以添加事件
- (YYTextLayout *)createTextImage:(NSString*)text witImage:(NSString*)imageName withSize:(CGSize)finalSize{UIFont *font = [UIFont systemFontOfSize:14];NSMutableAttributedString *textGold = [[NSMutableAttributedString alloc] initWithString:text attributes:@{NSForegroundColorAttributeName:[UIColor blackColor], NSFontAttributeName:font}];//可以添加UIKit的控件及事件UIImageView *imagImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];NSMutableAttributedString *attachTextRecahrage = [NSMutableAttributedString yy_attachmentStringWithContent:imagImage contentMode:UIViewContentModeLeft attachmentSize:CGSizeMake(62, 22) alignToFont:font alignment:YYTextVerticalAlignmentCenter];[textGold appendAttributedString:attachTextRecahrage];//如果要插入到前面
// [textGold insertAttributedString:attachTextRecahrage atIndex:0];YYTextContainer *container = [YYTextContainer containerWithSize:CGSizeMake(finalSize.width, finalSize.height)]; //图文混排需要的宽度及高度YYTextLayout *textLayout = [YYTextLayout layoutWithContainer:container text:textGold];return textLayout;
}
//使用YYLabel *labeShow = [[YYLabel alloc] initWithFrame:CGRectMake(0, 0,100, 50)];labeShow.textColor = [UIColor blackColor];labeShow.textLayout = [self createTextImage:@"文字" witImage:@"图片" withSize:labeShow.size];labeShow.textAlignment = NSTextAlignmentLeft;[self.view addSubview:labeShow];
iOS-图文混排方案-2种方案相关推荐
- iOS - 图文混排技术方案分享
前言 不少同学在工作中都能遇到图文混排的需求.但是实现图文混排的技术方案有好几种,相应的方案优劣也有差别.今天和大家一起分享一下图文混排的技术方案以及我的选择. Demo和解析工具已经开源 GitHu ...
- Unity图文混排的几种方式
方法一:TextMesh - TextMesh是Unity原生的支持图文混排的方式. - 使用方法 在GameObject下挂上TextMesh,会自动追加上MeshRender,之后在Materia ...
- ReactNative系列之十九表情emoji与文字混排的两种方案实现
注:2019/12/06,升级最新RN0.61,新版RN源代码已经适配了我改的地方(但新版本的源码在纯表情的时候计算的有bug, 我的改法依然没问题~量力使用吧) 以下方案在RN0.51上做的修改 方 ...
- unity 图文混排方案
在我们工作中,可能经常有这样的需求,就是需要图文混排,因为这个对于原生或web都是比较容易的事情.但是我们用unity的话,首先unity最开始只想做纯游戏侧的引擎,一开始甚至还没有一个商业化的ui工 ...
- iOS火焰动画效果、图文混排框架、StackView效果、偏好设置、底部手势等源码
iOS精选源码 高性能图文混排框架,构架顺滑的iOS应用. 使用OpenGLE覆盖阿尔法通道视频动画播放器视图. 可选最大日期截至当日日期的日期轮选器ChooseDatePicker 简单轻量的图片浏 ...
- ios 表情符号 键盘_iOS 表情键盘+gif聊天图文混排,看我的就够了
更新: 1.解决首次加载键盘卡顿的问题: 2.修改聊天布局方式,现在无需计算,更加丝滑. 前言: 之前做过[OC版本]和[swift版本]图文混排和表情键盘,说实在的很low,特别是键盘,整体只是实现 ...
- iOS自己总结的超级详细分解富文本大全(AttributedString),图文混排很轻松
前言 最近项目中对图文混排有一定的需求,例如价格,文字链接,文字颜色变化等要求,翻了很多资料,咱们对这些属性做了如下的总结,希望能在方便自己查阅! NSFontAttributeName 设置字体大小 ...
- IOS平台生成图片缩略图的两种方案
2013-04-16 15:48 2574人阅读 评论(0) 收藏 举报 IOS平台生成图片缩略图的两种方案 只写出关键部分,其它部分自己添加既可 1.自动缩放到指定大小 + (UIImage *)t ...
- iOS NSTextAttachment - 图文混排
苹果在iOS7中推出了一个新的类NSTextAttachment,它是做图文混排的利器,本文就是用这个类,只用50行代码实现文字与表情混排,当然也可以实现段落中的图文混排. 首先说一下文字和表情的混 ...
- android 实现表格横向混动_Android图文混排实现方式详解
在使用TextView的时候,我们经常需要在TextView中进行图文混排,比如在QQ中聊天的消息中的表情,底部tab图标等. 一.场景 二.实现方式 Android官方对TextView的图文混排提 ...
最新文章
- 设计模式-观察者模式 实现
- Java集合:HashMap
- Android开发实例之多点触控程序
- SAP UI5 Repository and MongoDB Repository
- lambda python_Python | Lambda和filter()与示例
- shiro整合mybatis数据库
- shell 基本命令linux,Linux基础知识:shell基础命令
- 华为Mate40国行版18点08分开卖:要求12小时内必须卖完
- python计算速度_python中如何提高计算速度?
- Dijkstra算法图文详解和C++代码
- 2018--Linux面试题
- 单片机c语言必背代码_单片机编程用C语言还是汇编?
- ios 高德地图加载瓦片地图_iOS 利用高德地图WMS服务
- 华为“天才少女”年薪156万:她靠什么改写了普通女孩的人生?
- 2021年全球印度香米收入大约12530百万美元,预计2028年达到21670百万美元
- Lenovo(IBM) 使用BoMC工具制作微码升级U盘刷新System x系列
- laptop外接显示器
- 42步进电机转速力矩曲线_步进电机的转速 – 转矩曲线
- 婚宴座位图html5,婚宴怎么安排座位 结婚喜宴座位安排图
- 计算机网络——电子邮件客户端程序设计与实现
热门文章
- DNS域名解析中A、AAAA、CNAME、MX、NS、TXT、SRV、SOA、PTR各项记录的作用
- iOS开发之定位神器-超简单方式解决iOS后台定时定位
- 飞机大战的常见Bug
- 微信屏蔽网址的解决办法:366API轻松实现被微信屏蔽的网址在微信内正常访问
- c语言判定条件 i什么意思,c语言 if(!x)中条件!x是什么意思
- 加装固态硬盘后计算机不显示,安装固态硬盘后无法读取,如何解决?
- ie 远程控制计算机,通过IE浏览器连接“远程桌面”方法详解
- 小米路由器显示网络未连接到服务器,小米路由器不能上网(连不上网)解决方法...
- 实时文件同步软件--端端(Clouduolc)的诞生小记
- php 生成条码插件,PHP版条码生成器