对于iOS开发来说,Navigation和TabBar是最常用到的界面元素。我在前面几篇博客中《iOS开发——代码生成TabBar与视图切换详解》《iOS纯代码实现界面建立、跳转、导航栏(无storyboard、无nib)》《iOS开发——界面跳转与返回及视图类型详解》中较为详细的实现了导航栏和TabBar的实现,以及一些界面跳转的实现。但是,在实际开发中,越来越发现Navigation和TabBar非常的博大精深。今天我们继续较为深入和全面的对需要Navigation和TabBar的项目机型基础的架构。并对界面栈的重构做一个深入的了解。
个人建议,在目前的iOS开发现状下,还是推荐使用xib来构建界面,纯代码和storyboard还不是十分推荐(个人看法)。所以在该篇博客的实现中,我使用xib来实现代码。项目源代码上传至 https://github.com/chenyufeng1991/MoreNavigation 。里面已经有一些代码注释,对于理解还是比较有用的。
(1)Navigation+Tab构建项目
目前市面上大多数的iOS App,都是使用Navigation+Tab的方式来构建,这基本上是一种主流趋势。因为有了这两个工具,可以方便的对程序的流程和页面进行控制,整体的逻辑结构也会变得清晰。我的项目主要使用xib来构建项目,已经删除了自带的Main.storyboard。
在AppDelegate.h中声明一个TabBar属性:
@property (strong, nonatomic) UITabBarController *tabController;
在AppDele