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的文本高度+图片是否存在即可;

时间: 2024-08-03 10:01:02

iOS图文混排的几种方式的相关文章

iOS 图文混排

1) 在iOS 7之前也有一种用于文字排版和渲染的技术——Core Text,而引入Text Kit的目的并非要取代Core Text. Core Text是面????层的文字排版和渲染技术,如果我们需要将文本内容??接渲染到图形上下文时,从性能角度考虑 ??,最佳??方案??是使用Core Text.??是从易??用性角度考虑??,使用Text Kit是最好的选择,因为??能直????接使用UIKit 提供的一些文本控件,例如:UITextView.UILabel和UITextField,对文

iOS 图文混排 链接 可点击

对于这个话题 我想到 1 第一个解决方法就是使用 webView 比较经典 把所有复杂工作都交给控件本身去处理了,  但是好像好多需要自定义的地方 没法从 webView获得响应回调 :(估计也可以实现 也比较复杂,而且 这个需要对 html编码进行分析理解剥离等) 2 富文本方式 核心框架 coretext 图文混排 一点问题都没有 关键是怎么对 目标图片 或者链接 进行触发响应 要点: (1)首先要封装的要相对独立 拓展也方便  首当其冲就是  和服务端约定的 数据模型 CoreTextMo

iOS 图文混排 (Swift版)

// 0> 图片附件 let attachment = NSTextAttachment() attachment.image = #imageLiteral(resourceName: "d_aini") let height = label.font.lineHeight attachment.bounds = CGRect(x: 0, y: -4, width: height, height: height) // 1> 属性文本 let imageStr = Att

ios图文混排

model类 commentsModel #import "JSONModel.h" #import "getCommentData.h" @interface commentsModel : JSONModel @property(nonatomic,copy)NSArray<getCommentData> *commentList; @end #import "commentsModel.h" @implementation co

iOS实现简单图文混排效果

在很多新闻类或有文字展示的应用中现在都会出现图文混排的界面例如网易新闻等,乍一看去相似一个网页,其实这样效果并非由UIWebView 加载网页实现.现在分享一种比较简单的实现方式 iOS sdk中为我们提供了一套完善的文字排版开发组件:CoreText.CoreText库中提供了很多的工具来对文本进行操作,例如CTFont.CTLine.CTFrame等.利用这些工具可以对文字字体每一行每一段落进行操作. 此例中默认图片都在右上方,且为了美观和开发简便设定所占宽度都相同. 首先,需要引入Core

高性能图文混排框架,构架顺滑的iOS应用-b

About GallopGallop是一个功能强大.性能优秀的图文混排框架. Features主要用于解决以下需求: 滚动列表的性能优化.Gallop使用异步绘制.视图层级合并.观察mainRunloop.对布局模型预先缓存等方法,能在实现复杂的图文混排界面时,仍然保持一个相当优秀的滚动性能(FPS基本保持在60). 项目内有使用Gallop构建的微信朋友圈Demo 实现图文混排界面,比如在文本中添加表情,对文字添加点击链接.Gallop还提供了方便的方法可以直接完成表情.URL链接.@用户.#

IOS开发UI篇--一个支持图文混排的ActionSheet

一.简单介绍 UIActionSheet是IOS提供给我们开发人员的底部弹出菜单控件.一般用于菜单选择.操作确认.删除确认等功能.IOS官方提供的下面方式对UIActionView进行实例化: - (instancetype)initWithTitle:(NSString *)title delegate:(id<UIActionSheetDelegate>)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructive

iOS开发日记21-7.0之后的图文混排

今天博主有一个图文混排的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. iOS7.0以前,图文混排主要有两种方法:1.WebView+js  2.coreText iOS7.0之后,苹果提供了新的封装,让图文混排更加的简便,也就是第三种方法:3.TextKit 今天就和大家详细的分享一下这三种图文混排的方法 1.webview+js的方法其实很简单,下面贴出代码,各位自行研究 去除webView滚动时,上下的白边. - (void)clearWebViewBackground:(UI

iOS系列教程之TextKit实现图文混排读后记

iOS系列教程之TextKit实现图文混排读后记 前两天看搜狐家明哥写的<TextKit实现图文混排> 今晚回家看了下API发现了一个更加取巧的实现方式.可以直接将后台返回的html富文本用textView显示出来. 记得两年前当时做这个的时候还是借助了笨重的webview. > Textkit是iOS7新推出的类库,其实是在之前推出的CoreText上的封装,有了这个TextKit,以后不用再拿着CoreText来做累活了, 下面是我分别用UITextView 和UIWebView 显