iOS 仿Max+框架

我写的Demo:MadMax

前段时间看到一款Max+的app,类似于英雄联盟盒子,厉害的是,这款app集成了四款游戏的盒子,包括英雄联盟、csgo、dota2和守望先锋,我对他的框架很感兴趣,于是便仿写了一下框架结构。

iOS 仿Max+框架_第1张图片
这里演示通过左栏切换不同盒子

我们可以发现,通过左栏切换不同盒子的时候,底部导航和内容完全变化了,就好像完全进入了一个新的应用。我再此处分析了一下结构,自己猜想了一下,四个应用的顶部导航并没有发生什么变化,通过左栏切换,底部导航和内容发生了变化,这样我就认为,顶部导航应该是高级导航,他肯能控制着这四个底部导航,而左栏可以在任意页面的顶部导航调出,那么我认为左栏和顶部导航应该平级关系。

iOS 仿Max+框架_第2张图片
结构思维导图

有了这个结构,我就开始了自己创建结构,在我的上一篇文章中,我写了抽屉的思想,在这里可以很好的应用,我创建一个rootVC,这个rootVC控制这左栏和navigation,在左栏里设置button点击来让navigation切换不同的tabBar。这里先展示下我的成果,。

iOS 仿Max+框架_第3张图片
这是根据分析做的框架

这个框架的关键有两处:

1、在appdelegate里设置rootVC,这个rootVC是里有自己封装的方法,这个方法就是设置navigation和左栏的。

2、如何让navigation控制三个不同的tabbar,点击左栏如何能切换不同的tabbar。

第一个关键,在上篇文章里已经讲过,这里不再累述。

第二个关键,就是我们在navigationVC里注册上通知,当收到通知,我们就让navigation切换tabbar,那么在每次进入应用的时候,我们的通知是必须祖册的,我们在左栏的button点击事件里也发送通知,三个btn对应三个通知,这样我们就实现了切换。

这样看来,我们的仿写也就差不多了,如果有UI和资源,也可以做的差不多,到底max+是不是这样做的,也不得而知。

以上是自己的一点想法和实践,欢迎讨论和好的建议。。

你可能感兴趣的:(iOS 仿Max+框架)