iOS_Xib

Cell的Xib方式自适应高度

2019-01-25  本文已影响15人  li_礼光
回想一下,遇到过的tableViewCell高度计算的有多少种?

(个人认为)最简单粗暴的是,使用MVVM模式,

  • 在对应的ViewModel中添加你需要的高度属性.
  • 在请求完成网络数据之后,在ViewModel中计算对应控件所需要的高度内容.
  • 直接使用ViewModel中的数据对Cell进行高度赋值.

这种方式通过纯代码操作.可操作性强.缺点是, 耗时,代码看起来臃肿.


用XIB的方式动态计算Cell高度.

在探究FDTemplateLayoutCell的时候自己也简单写了个Demo : Demo.

最开始的时候以为FDTemplateLayoutCell中有特别的计算方式,后来发现其实是没有的. 预先通过Xib的自动布局设置好对应的高度属性.


1.准备数据源

ps : 图片资源自己准备就好,放在Assets.xcassets


数据源

2.获取数据源&创建TableView

初始化数据源&创建TableView

3.设置模型

模型

4.自定义Cell.Xib

cell.m Xib

5.注意点

注意点一 注意点二

总结 :

主要高度控制在Xib的自动布局中.

效果图 :

Demo运行

最后 :

你会发现, 实际并没有进行任何的cell的高度计算,也没用其他第三方框架,同样实现了高度自适应的效果.

Xib的动态高度计算 : 其实也有个弊端就是,后续迭代修改的时候,一堆的Constraints,改起来是多不顺心.



那为什么还要使用 FDTemplateLayoutCell ?

回到前面所说的,最开始的时候以为FDTemplateLayoutCell中有特别的计算方式,后来发现其实是没有的. 预先通过Xib的自动布局设置好对应的高度属性.

FDTemplateLayoutCell 主要做的事情是,性能方面的优化.

优化UITableViewCell高度计算的那些事 里有指出为什么使用
"究竟有没有既能省去算高烦恼,又能保证顺畅的滑动,还能支持 iOS6+ 的一站式解决方案呢?"

上一篇下一篇

猜你喜欢

热点阅读