ios yytext的使html,iOS 利用YYText 实现 展开全文 功能

前言

前段时间有朋友问我如何做类似展开显示全文的功能,那时候没空也没研究,这几天在群里发现也有朋友需要,于是我也就研究一下。

效果类似于这样:

06eddcdd5c93

原本的想法是 给固定高度后 右下角添加 展开全部按钮,点击展开全部,但在做的途中发现有好多坑。用富文本做吧,又不熟悉,没办法找三方吧。

首先想到的就是YYkit 在看demo 中发现有这么个功能和 需求很像:

06eddcdd5c93

来抄吧!站在大神的肩膀上编程...

06eddcdd5c93

找了会儿发现核心代码在这里,哦了,核心东西有了,剩下的就简单了。。 开搞

思路:

1. 先创建table  给cell 设置个高度 这个初始化高度,我是先算的text的三行的高度如果text 大于这个高度 就返回这个高度,确定cell 中的文字最多只能显示三行。

2.添加YYText库 开抄。。。

3.基本实现展开效果

4.当点击展开全部 重新刷新cell 的高度

具体思路就是这样,但在做的过程中发现一个问题:

如果用YYLabel 当展开的时候因为YYLabe 用的是attributedText 而我计算的高度是text 所以会出现 label 和文字的高度不一致的问题。

处理:

1.高度计算用attributedText 的高度计算方式

2.当展开时候用另外一个普通的label替换掉YYlabel

我采用的是第二种。。

在下菜鸟一枚,大神的东西 好多看都看不懂,YYkit 还全是英文注释 我这个渣渣更看不懂...只能先实现功能别的再说

demo 地址在这里:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值