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种方案相关推荐

  1. iOS - 图文混排技术方案分享

    前言 不少同学在工作中都能遇到图文混排的需求.但是实现图文混排的技术方案有好几种,相应的方案优劣也有差别.今天和大家一起分享一下图文混排的技术方案以及我的选择. Demo和解析工具已经开源 GitHu ...

  2. Unity图文混排的几种方式

    方法一:TextMesh - TextMesh是Unity原生的支持图文混排的方式. - 使用方法 在GameObject下挂上TextMesh,会自动追加上MeshRender,之后在Materia ...

  3. ReactNative系列之十九表情emoji与文字混排的两种方案实现

    注:2019/12/06,升级最新RN0.61,新版RN源代码已经适配了我改的地方(但新版本的源码在纯表情的时候计算的有bug, 我的改法依然没问题~量力使用吧) 以下方案在RN0.51上做的修改 方 ...

  4. unity 图文混排方案

    在我们工作中,可能经常有这样的需求,就是需要图文混排,因为这个对于原生或web都是比较容易的事情.但是我们用unity的话,首先unity最开始只想做纯游戏侧的引擎,一开始甚至还没有一个商业化的ui工 ...

  5. iOS火焰动画效果、图文混排框架、StackView效果、偏好设置、底部手势等源码

    iOS精选源码 高性能图文混排框架,构架顺滑的iOS应用. 使用OpenGLE覆盖阿尔法通道视频动画播放器视图. 可选最大日期截至当日日期的日期轮选器ChooseDatePicker 简单轻量的图片浏 ...

  6. ios 表情符号 键盘_iOS 表情键盘+gif聊天图文混排,看我的就够了

    更新: 1.解决首次加载键盘卡顿的问题: 2.修改聊天布局方式,现在无需计算,更加丝滑. 前言: 之前做过[OC版本]和[swift版本]图文混排和表情键盘,说实在的很low,特别是键盘,整体只是实现 ...

  7. iOS自己总结的超级详细分解富文本大全(AttributedString),图文混排很轻松

    前言 最近项目中对图文混排有一定的需求,例如价格,文字链接,文字颜色变化等要求,翻了很多资料,咱们对这些属性做了如下的总结,希望能在方便自己查阅! NSFontAttributeName 设置字体大小 ...

  8. IOS平台生成图片缩略图的两种方案

    2013-04-16 15:48 2574人阅读 评论(0) 收藏 举报 IOS平台生成图片缩略图的两种方案 只写出关键部分,其它部分自己添加既可 1.自动缩放到指定大小 + (UIImage *)t ...

  9. iOS NSTextAttachment - 图文混排

    苹果在iOS7中推出了一个新的类NSTextAttachment,它是做图文混排的利器,本文就是用这个类,只用50行代码实现文字与表情混排,当然也可以实现段落中的图文混排.  首先说一下文字和表情的混 ...

  10. android 实现表格横向混动_Android图文混排实现方式详解

    在使用TextView的时候,我们经常需要在TextView中进行图文混排,比如在QQ中聊天的消息中的表情,底部tab图标等. 一.场景 二.实现方式 Android官方对TextView的图文混排提 ...

最新文章

  1. 设计模式-观察者模式 实现
  2. Java集合:HashMap
  3. Android开发实例之多点触控程序
  4. SAP UI5 Repository and MongoDB Repository
  5. lambda python_Python | Lambda和filter()与示例
  6. shiro整合mybatis数据库
  7. shell 基本命令linux,Linux基础知识:shell基础命令
  8. 华为Mate40国行版18点08分开卖:要求12小时内必须卖完
  9. python计算速度_python中如何提高计算速度?
  10. Dijkstra算法图文详解和C++代码
  11. 2018--Linux面试题
  12. 单片机c语言必背代码_单片机编程用C语言还是汇编?
  13. ios 高德地图加载瓦片地图_iOS 利用高德地图WMS服务
  14. 华为“天才少女”年薪156万:她靠什么改写了普通女孩的人生?
  15. 2021年全球印度香米收入大约12530百万美元,预计2028年达到21670百万美元
  16. Lenovo(IBM) 使用BoMC工具制作微码升级U盘刷新System x系列
  17. laptop外接显示器
  18. 42步进电机转速力矩曲线_步进电机的转速 – 转矩曲线
  19. 婚宴座位图html5,婚宴怎么安排座位 结婚喜宴座位安排图
  20. 计算机网络——电子邮件客户端程序设计与实现

热门文章

  1. DNS域名解析中A、AAAA、CNAME、MX、NS、TXT、SRV、SOA、PTR各项记录的作用
  2. iOS开发之定位神器-超简单方式解决iOS后台定时定位
  3. 飞机大战的常见Bug
  4. 微信屏蔽网址的解决办法:366API轻松实现被微信屏蔽的网址在微信内正常访问
  5. c语言判定条件 i什么意思,c语言 if(!x)中条件!x是什么意思
  6. 加装固态硬盘后计算机不显示,安装固态硬盘后无法读取,如何解决?
  7. ie 远程控制计算机,通过IE浏览器连接“远程桌面”方法详解
  8. 小米路由器显示网络未连接到服务器,小米路由器不能上网(连不上网)解决方法...
  9. 实时文件同步软件--端端(Clouduolc)的诞生小记
  10. php 生成条码插件,PHP版条码生成器