iOS Swift 3UITableViewCell自适应文字展开动画

Swift 3 的 UITableView 文字展开动画效果,真的挺实用的。是做资讯类 App 或者 RSS 阅读器时,那种点击后文字展开的效果,既美观又能提升用户体验。你只要用一个自定义的UITableViewCell,加个UILabel,配合自动布局约束和点击事件,就能实现自适应展开了。

动画那块可以用UIView.animate(withDuration:)搞定,基本一两行代码就能做个平滑的过渡。重点是要管理好展开状态,不然列表一滚动,复用的 cell 状态就乱了。最好在数据模型里加个isExpanded字段,点一下就改状态,reloadRows一下。

性能方面,也别忘了做些优化。比如用estimatedRowHeight让系统先猜个高度,避免卡顿;文字多的时候,可以异步计算UILabel的高度,体验会好不少。整个项目风格清爽,代码也不复杂,蛮适合拿来练手。

如果你也在折腾类似的交互,不妨看看这个项目。还可以参考一下这些相关资源:

嗯,如果你在做 Swift 老项目迁移,或者就是想练下UITableView动画和布局,蛮推荐试试看这个 Demo,简单上手,收获还挺多的。

zip 文件大小:2.26MB