之前项目有个需求在一个VIewController里面有三个tabelVIew 并且可以左右滑动,当时的想法就是创建一个UIScrollView然后把三个tabelview放到里面实现左右滑动的效果,后来想想真的是大错特错,这样创建的话你三个tableView的点击事件都要传到VIewController里面进行处理,后期代码一团糟,维护起来特别的麻烦。
现在给大家做个测试,让大家可以更好的使用addChildViewController
我现在先使用我之前的方法
然后我在OneViewController控制器里面创建一个button,当点击button的时候让他push到下一个界面,你会发现他的点击事件执行了,但是他并没有push到下一个界面,我们需要把事件传到主控制器进行跳转。所以后期如何代码一多乱成一糟。
下面介绍一个简单的方法addChildViewController使用
我们只需要在创建的时候使用addChildViewController就可以了 看代码
这样我们就不用在把事件传到主控制器,每个childViewController自己内部的事件自己处理。为什么用childViewController? 因为使用childViewController的好处在于,parentViewController不需要管理每个ViewController的事件和逻辑。他只负责把childViewController的视图添加到自己的view上即可。每个childViewController自己内部的事件自己处理。所以很好的解耦,也降低了代码的复杂度
本人新手呆鸟,忘各位老司机多多鞭策,使我快速成长。谢啦
网友评论