iOS 利用YYText 实现 展开全文 功能

前言

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

效果类似于这样:

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

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


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

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

思路:

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

2.添加YYText库 开抄。。。

3.基本实现展开效果

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

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

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

处理:

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

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

我采用的是第二种。。

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

demo 地址在这里:

github.com/liuhao252623/textFill

你可能感兴趣的:(iOS 利用YYText 实现 展开全文 功能)