基本项目架构UITabbarController-UINavga

2019-01-26  本文已影响14人  我就是马选之人

        最近想写点文章,但是B站的IJKPlayer帧数和起播还在优化,下次再聊。今天来说下最基本的项目架构吧————如何快速用UITabbarController-UINavgationController搭建一个项目的雏形。

一、icon准备如图一,tabbar上四个图标。d表示default,s表示selected。第一个nav_bg是顶部导航栏的背景图。注意图片尺寸不能太大,只接受60X60以下,如果图片太大(前提是<60X60)溢出了tabbar,在图片后面加@2x!!!!

图一

二、在storyboard中添加四个NavgationController和一个TabbarController并且连线如图二

图二

三、创建UITabbarController的子类,并且和storyboard中的TabbarController关联。然后在关联的子类的.m中进行如图三操作。

图三

四、现在已经能看到正常的项目UI了。下一步设置导航栏。创建四个viewController继承自UIviewController,分别关联storyboard中的四个控制器。在每个控制器中的viewDidLoad中如图四操作:至于为什么要重复四次后面会解释。

图四

五、导航栏背景和属性设置成功了,在尝试Push到下一层控制器时,都会发现底部的tabbar不隐藏,而且每个控制器的标题都要在viewDidLoad中设置,很不方便。那么我们自定义一个控制器的基类继承自UIViewController,先重写构造函数,之后所有的控制器都继承自这个自定义的基类,用i构造函数来初始化。

    在这个初始化函数中,不仅可以在init的时候直接设置导航栏标题。而且通过设置hidesBottomBarWhenPushed的值使push到这个控制器的时候底部tabbar隐藏,而最底层的四个控制器因为是不是集成自这个类不会有相应的设置,避免了tabbar隐藏后不出现的bug。如图五:

图五

六、基类共同属性设置如图六

图六

七、之后的控制器全部继承自自定义基类勾选Xib开发就行了,如图七。

图七

这次说的是用系统的方法来设置UITabbarController-UINavgationController架构,优势是简单快速。至于能满足更多需求但复杂点的自定义tabbar下次再聊吧。

要是觉得有用的话记得点个赞哦。

上一篇下一篇

猜你喜欢

热点阅读