iOS图文混排的几种方式
最近优化升级了之前做的一个项目,现在这一期已接近尾声了,今天可以腾出些时间总结一下最近项目中用的比较多的图片文字混排显示的内容。现在遇到比较多的图文混排的基本有三种:一种是在标签中显示 价格符号+价格+某种内部项目单位(如粮票符号)+数量,这种在项目中用的比较多些;第二种是商品详情中展示一段文字+一组图片或者是,一段文字+一张图片的数组形式展示,这种在详情中用的也不少;还有一种的和第二种类似,像是网页中的东西,这里就不多说了;下面说说前两种比较常用的图文混排展示的方式;
1、,在标签中显示价格单位+价格+项目内部单位符号+数量的一种方式;这种方式用的还是比较多的,一种比较简单的方式是从网上可以找到第三方支持图片显示的控件,像是CTTextDisplayView-master,在cocoaChina或者Code4App上面可以搜索的到,里面封装了一个view类型的cell对象,支持图片、文字、超链接、@某人
等效果,需要的话可以自己去下载,用了一次效果还是不错的,功能很强大,还支持对指定文本字段的点击效果;另外一种方式是可以在UILabel标签中通过对标签的重绘,也可以实现同样的效果;废话不多说直接上代码了。
NSString *temStr = [NSString stringWithFormat:@"¥%.2f + ",[price floatValue]-[score floatValue]];
NSTextAttachment* attach = [[NSTextAttachment alloc] init];
attach.image = [UIImage imageNamed:@"P灰色列表粮票符号.png"];
NSAttributedString* attStr1 = [NSAttributedString attributedStringWithAttachment:attach];
NSMutableAttributedString* attStr = [[NSMutableAttributedString alloc] initWithAttributedString:attStr1];
NSMutableAttributedString *strMatt = [[NSMutableAttributedString alloc] initWithString:temStr];
//在图片前面插入一段文字
[attStr insertAttributedString:strMatt atIndex:0];
//在图片后面追加一段文字
[attStr appendAttributedString:[[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%.2f",[score floatValue]]]];
//设置图片的大小
attach.bounds = CGRectMake(0, 0, 8, 9);
cell.lblrealprice.attributedText = attStr;
2、在详情中实现图文混排的方式,或者是一段文字+一张图片作为一个整体的一组展示;前面的这种需要实现文本高度的动态判断,然后根据图片数组的个数动态的计算整体的高度和图片显示的位置即可,当然还有个查看大图的效果这里就不详细叙述了。第二种可以将标签、图片封装成一个cell动态判断每一个cell的文本高度+图片是否存在即可;
iOS图文混排的几种方式的更多相关文章
- iOS 图文混排
使用系统自带的NSAttributedString来处理,对于一般的图文混排已经足够了,但是,有一个缺点就是NSAttributedString并不支持gif动画.实际上,使用gif动画还是挺卡的. ...
- iOS 图文混排 链接 可点击
对于这个话题 我想到 1 第一个解决方法就是使用 webView 比较经典 把所有复杂工作都交给控件本身去处理了, 但是好像好多需要自定义的地方 没法从 webView获得响应回调 :(估计也可以实 ...
- ios图文混排
图文混排的形式 1. 富文本形式 2. core Text(文字排版) 3. TextKit 4. UIWebView 一.富文本 我们可以采用attributeString来进行图文混排.例如一个文 ...
- iOS 图文混排 (Swift版)
// 0> 图片附件 let attachment = NSTextAttachment() attachment.image = #imageLiteral(resourceName: &qu ...
- 【iOS】使用CoreText实现图文混排
iOS没有现成的支持图文混排的控件,而要用多个基础控件组合拼成图文混排这样复杂的排版,是件很苦逼的事情.对此的解决方案有使用CoreText进行绘制,或者使用TextKit.本文主要讲解对于CoreT ...
- 高性能图文混排框架,构架顺滑的iOS应用-b
About GallopGallop是一个功能强大.性能优秀的图文混排框架. Features主要用于解决以下需求: 滚动列表的性能优化.Gallop使用异步绘制.视图层级合并.观察mainRunlo ...
- IOS开发UI篇--一个支持图文混排的ActionSheet
一.简单介绍 UIActionSheet是IOS提供给我们开发人员的底部弹出菜单控件.一般用于菜单选择.操作确认.删除确认等功能.IOS官方提供的下面方式对UIActionView进行实例化: - ( ...
- iOS火焰动画效果、图文混排框架、StackView效果、偏好设置、底部手势等源码
iOS精选源码 高性能图文混排框架,构架顺滑的iOS应用. 使用OpenGLE覆盖阿尔法通道视频动画播放器视图. 可选最大日期截至当日日期的日期轮选器ChooseDatePicker 简单轻量的图片浏 ...
- IOS实现UIButton图文混排、自定义按钮按下和正常状态下不同的背景颜色、根据文字长度自定义UIButton长度
在一些项目中,我们需要自定义自己的UIButton,使Button上面同时具有图片和文字描述,实现自定义UIButton的图文混排. 首先我们需要定义一个继承自UIButton的类,同时实现自己的in ...
随机推荐
- 如何使用Python爬取基金数据,并可视化显示
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于Will的大食堂,作者打饭大叔 前言 美国疫情越来越严峻,大选也进入 ...
- SpringBoot+Mybatis_Plus Generator
AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity.Mapper.Mapper XML.Service.Control ...
- 浅谈分布式共识算法raft
前言:在分布式的系统中,存在很多的节点,节点之间如何进行协作运行.高效流转.主节点挂了怎么办.如何选主.各节点之间如何保持一致,这都是不可不面对的问题,此时raft算法应运而生,专门 用来解决上述问题 ...
- 撸个反向代理,激活JRebel~
持续原创输出,点击上方蓝字关注我 目录 前言 本地反向代理 服务器反向代理[个人推荐] IDEA安装JRebel并激活 服务器安装JRebel并激活 总结 前言 热部署相信大家都听说过,比如Sprin ...
- 4g数据无线传输终端dtu
将串口数据转换为IP数据或将IP数据转换为串口数据并且进行传输的过程被称为数据透明传输,利用4G网络进行数据透明传输的设备被称为4G网络无线数据双向透明传输终端,也可以称为4G DTU,现在市面上大多 ...
- Blazor 准备好为企业服务了吗?
如果您正在编写 .NET Web 应用程序,您很可能已经意识最近一年在.NET Web开发领域的热点都是 Blazor 的.如果你还没有了解Blazor,它允许您使用 C# 来编写 Web UIs,传 ...
- yum安装出现被锁定的报错
问题:在使用#yum install XXX 命令的时候,出现yum.pid 已被锁定的提示,无法进行yum 安装 解决: 使用# rm -f /var/run/yum.pid 命令删除该进程即可
- Aps.Net Core3.1 WebApi发送阿里云短信验证码
1.前言 转眼又要过了一年了 好久没写博客了,人不学就要落后,今天有时间把以前弄的发送阿里云短信验证码登录记录一下. 2.准备条件 1)去阿里云官网注册一个账号.有账号直接登录就行,以前新人好像有免费 ...
- 数组和list 相互转换中遇到的坑
代码示例: public class ArrayDemo { public static void main(String[] args) { Integer[] arr = {1, 2, 3, 4, ...
- Spider_基础总结7_爬虫基本模板(3个类)
# 第四章内容--处理不同的网站布局: # 我们想在功能类似的网站上抓取类似内容时,往往这些网站的内容可能布局不一样(相同内容的标签可能不同),由于通常我们爬取的网站数量有限, # 我们没有必要去开发 ...