⼀个多UITableview的左右滑动简单解决⽅案
前⾔
view ui框架本⽂源⾃实际开发中的需求,核⼼的要求有⼏个:
1、多个UITableview要⽀持左右滑动;
2、点击Tab也要有UITableview的滑动切换效果;
3、每个UITableview单独的下拉刷新和上拉加载;
效果图类似如下
某条.gif
正⽂
1、核⼼思路
根据要求来分析,可以采⽤UIScrollView作为容器,开启pageEnable属性实现左右分页,同时关闭UIScrollView的上下滑动⼿势(避免和UITableview的冲突),通过修改UIScrollView的contentOffset属性实现左右滑动效果。
整体架构图
2、具体代码
创建UIScrollView容器
我思考的依据是view有⼀个层级树,vc也同样有⼀个层级关系。那么vc在决定是否偏移scrollview的时候,同样需要⼀层层询问vc。只要有⼀层vc想要偏移,那么就要偏移。那么沿着vc往上查,保证所有VC
的automaticallyAdjustsScrollViewInsets的属性为NO。
总结
多UITableview的VC本⾝已经有上万⾏代码,散布在⼗⼏个Category⾥⾯。相对于⽼代码的迁移,这次新增⼀个左右滑动功能的代码简直是微不⾜道。
在代码复杂度已经很⾼的架构⾥实现功能,犹如在钢绳交错的天空中⾏⾛,⼀不⼩⼼就踏空踩到Bug;⼜可能明明⾛在⾃⼰的这条钢绳上,结果把别⼈甩到坑⾥去。
三思⽽后⾏,代码以兼容稳健为主。不要为追求优雅的代码,影响破坏原代码的架构。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论