iOS 仿Max+框架

我写的Demo:MadMax

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

这里演示通过左栏切换不同盒子

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

结构思维导图

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

这是根据分析做的框架

这个框架的关键有两处:

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

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

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

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

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

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

推荐阅读更多精彩内容

  • 脑子已乱成一团,完全没有头绪…… 越来越觉得那些狗血剧,有迹可循。生活,除了眼前的狗血,还有未来的狗血...
    ll小姐_ying阅读 26评论 0 0
  • 随着手机硬件频繁的更新换代,HTML5技术的发展跨平台、低成本、快迭代等优势被进一步凸显,这对身处于移动互联网大潮...
    口袋推阅读 467评论 0 0
  • 表单 HTML 元素 表示了文档中的一个区域,这个区域包含有交互控制元件,用来向web服务器提交信息。 nam...
    卓小生阅读 276评论 0 0
  • 幽笛 幽笛声唤引雀归, 辛夷从步驾天涯, 流光华彩如此逝, 何妨殊途话昙花。
    理疗瑜伽邵阅读 197评论 0 0