混合使用这两个控件的好处是我们可以在NavigationBar添加更多的东西,如标题,按钮等。让用户能够获得更多的信息。

UITabBarController的属性ViewControllers接受以UIViewController或者UIViewController子类为元素的数组。

因为UINavigationController属于UIViewController的子类,因此它当然就可以成为viewControllers的参数。

先来看效果:

原理和之前文章所说的基本一样:

实现代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {//创建第一个视图控制器self.firstViewController = [[UIViewController alloc] init];self.firstViewController.view.backgroundColor = [UIColor brownColor];self.firstViewController.title = @"first view";self.firstViewController.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemDownloads tag:1];//创建第二个视图控制器self.secondViewController = [[UIViewController alloc] init];self.secondViewController.view.backgroundColor = [UIColor yellowColor];self.secondViewController.title = @"second view";self.secondViewController.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemHistory tag:2];//初始化第一个UINavigationControllerself.firstNavController = [[UINavigationController alloc]initWithRootViewController:self.firstViewController];//初始化第二个UINavigationControllerself.secNavController = [[UINavigationController alloc]initWithRootViewController:self.secondViewController];//初始化UITabBarControllerself.tabBarController = [[UITabBarController alloc] init];//为viewControllers添加引用self.tabBarController.viewControllers = @[self.firstNavController, self.secNavController];self.window.rootViewController = self.tabBarController;return YES;
}

在iPhone上很多应用程序几乎都是以这种结构布局,实用性大,使用简单。

转载于:https://www.cnblogs.com/ai-developers/p/4517122.html

混合使用UITabBarController和UINavigationController相关推荐

  1. UITabBarController 和 UINavigationController 的详解

    首先得搞清这两个控制器之间的层级关系,我们直接看官网给的图,如下所示: 从这张图可以看到:最右边的Assembled views是呈现给用户的界面,它左边的Window是最底层的窗口,重点来了,再往左 ...

  2. UITabBarController 笔记(三) UITabBarController 配合 UINavigationController 的使用

    建个空的iOS工程 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictiona ...

  3. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇-UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

  4. IOS之UITabBarController

    在学习IOS开发过程中,针对于UITabBarController的使用也不少出现,UITabBarController和UINavigationController类似,UITabBarContro ...

  5. 文顶顶 iOS开发UI篇—UITabBarController简单介绍 iOS开发UI篇—UITabBarController简单介绍...

    一.简单介绍 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例 ...

  6. 【原】iOS学习之UITabBar的隐藏

    当页面使用 UITabBarController + UINavigationController 框架的时候,当跳转到详情页面的时候,如果 UITabBar 仍然存在的话就会造成逻辑混乱,用户体验也 ...

  7. UIKit框架使用总结--看看你掌握了多少

    一.经常使用的,基本就是每次项目迭代都需要使用的 UIView.UILabel.UIImage.UIColor.UIFont.UIImageView.UITextField.UIButton. UIS ...

  8. 周报_2012第51周(2012/12/16-2012/12/22)

    2012.12.18 Windows Phone 墓碑机制(多任务) Launching和Closing方法在通常情况下使用:例如用返回键退出,或者从程序列表中启动. Activated和Deacti ...

  9. Two-stage rotation animation is deprecated. This application should use the smoother single-stage an

    问题出在rootViewController同时包含UITabBarController和UINavigationController. 几经尝试,最后发现,在设置为window.rootViewCo ...

  10. linux后台启动脚本nohup,linux下后台执行shell脚本nohup

    [GSM]GTM900C的应用--短信 虽说GSM已经很老旧,但其低廉的价格,非常适合一些需要小数据上网传输和短信等功能的应用场合. 不知道GSM能否像51单片机一样,在低端应用中长久不衰.GTM90 ...

最新文章

  1. Playing Video on iPhone Cocos2D-X
  2. 序列化反序列化api(入门级)
  3. input.touch拖动物体
  4. JavaScript之apply()和call()的区别
  5. 执行truffle unbox react报错,出现Error: connect ECONNREFUSED 0.0.0.0:443问题的解决办法
  6. java样式是什么_java css样式 css样式的种类 选择器 文本相关样式 背景相关样式 边框 盒子模式...
  7. python中的匿名函数lambda
  8. 头条限流是什么原因_抖音为什么会被限流?被限流了如何补救?
  9. java匿名对象_面向对象
  10. 动画|经典的归并排序究竟怎么玩儿?
  11. CSDN Blog首页新增栏目和二级页面通告
  12. [Markdown] Markdown使用 - 持续更新
  13. spring boot 发邮件
  14. 如何成为一名研发主管--关于个人、过程、工具和团队之一
  15. php函数-wordwrap,sprintf,ucwords,ucfirst,substr_replace
  16. 苹果手机通过扫描二维码下载APP
  17. Java 截取字符串
  18. D - 一只小蜜蜂...
  19. 找到自身管理创新支点 振兴物流业
  20. 微信小程序map展示

热门文章

  1. 多第八田间学校:几何+图论出度+模拟+找到规律
  2. 【杭电ACM】1.2.6 decimal system
  3. 给网友良少的一封回信,希望能结识更多的志同道合者!
  4. c语言基础代码_全国计算机二级等级考试:C语言二级考试有多难?不看不知道...
  5. asp向不同的用户发送信息_使用 Linux 命令行与其他用户进行通信 | Linux 中国
  6. c语言数字密码输入新密码,想程序高手求助--用C语言来编辑一个输入密码的程序...
  7. yaml和properties文件相互转换的网站
  8. java base server 状态_SQL Server:数据库陷入“恢复”状态 - SQL Server: Database stuck in “Restoring” state...
  9. 升级ssl后ssh登录失效_centos7升级openssl、openssh常见问题及解决方法
  10. Bitset的一些总结