



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】iOS利用Label实现的简单高性能标签TagView
前言我相信很多人在开发者都有这样的需求,标签展示(如下图)
很多人都可以自己实现(网上别人写的也很多,但是别人写的总有不满足自己需求的点),实现的方法也很多种,比如动态添加view,使用UICollectionView等等。这种实现方法不是不好,但是当列表比较复杂,数据比较多的时候,可曾想过性能会怎么样呢?在一次深入了解富文本的时候,突发其想,好像富文本能达到这种效果,也就是一个label就可以实现这种标签的效果了,效果性能就不用多说了,再加上YYLabel的异步绘制,真是锦上添花啊。XWTagView(高性能标签)优势:XWTagMaker(标签外观配置)以上就是标签外观的一些属性,注释得很清楚,包含了对齐方式,每个属性都有默认值,maxWidth这个属性是必须非空的以便计算高度和换行(默认值是屏幕宽度)XWTagView(继承自YYLabel)XWTagView.hXWTagView.m主要代码XWTagView的内部实现很简单,只是简单的富文本赋值NSMutableAttributedString+XWTagView的核心代码1.tip:创建标签的时候在子线程体验更好(生成富文本比较耗时)细心的同学会发现要怎么知道他的高度?(当然如果您用的是自动布局可以不用管这个属性,毕竟label自动布局会自动自适应)从上面代码可以看出来,最后返回的是富文本NSMutableAttributedString,为了更加方便,我便为NSMutableAttributedString扩展了个高度属性tagHeight(当前标签富文本的高度以便外部获取使用和缓存。看起来很简单,也很容易理解(就是把标签数组变成一个富文本已达到标签的效果),接下来就看看怎么用吧看起来是不是很简单,一个make就可以配置标签样式了,如果您是比较复杂的列表的话,这样一个label实现的标签性能完全不用担心,如果您是个追求性能的人,可以开启YYLabel的异步绘制displaysAsynchronously(在iPhone4s上有明显效果)。效果图如下
当我以为大功告成的时候,最后还是让我发现了个问题,从上面代码可以看出标签的的左右间隔是用空字符串隔开的(这是一个缺陷,有比较好的解决方法的可以联系我),说到这细心的同学应该可以猜到是什么问题了,你们可曾注意过当label右对齐的时候,最右边的空格或者空字符串是不起作用的,最终想到了个解决办法(首尾自动缩进1.5),可能不是最好的解决方案,但是足以解决出现的问题,详细的见如下代码熟悉富文本的同学都知道tailIndent是与尾部的距离,利用好这一点可以很好的解决问题,后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高模量玻璃纤维布项目投资风险评估报告
- 新媒体时代健美操推广模式的创新
- 电网与抽水蓄能的协同发展
- 2025合作协议合同范本汇编
- 医学实践导向的课程体系构建
- 智农新纪元模板
- 游戏设计与玩家体验
- 古代文明的启示
- 乙状结肠癌的护理措施
- 厂房建筑承包合同协议书
- 露营基地管理制度清单
- 2025年上海市黄浦区高三语文二模试卷及答案
- 工程调价协商函
- 老年脑卒中患者居家护理
- 2025年中国独角兽企业行业市场调研及未来发展趋势预测报告
- 手电钻安全使用
- 老员工带新员工的培训制度
- 《煤矿安全生产责任制》培训课件2025
- 2025年管理类联考《英语二》真题复盘卷(带解析)
- 极地科考装备智能化设计-深度研究
- 中职高教版(2023)语文职业模块-第七单元语文综合实践-走进传统节日-探寻文化根脉【课件】
评论
0/150
提交评论