导航控制器UINavigationController简介:

 只要看到控制器界面上部有一个条就是导航控制器UINavigationController

  导航控制器最上面有一个条是导航条高度44,Y值是20,导航条上20是状态栏;导航条内有一个子控制件,这个子控件超过了导航条,有一个透明效果,是从0位置开始的,子控件超过父控件也是能够显示的;

  导航控制器的结构:导航控制器最上面是一个导航条,导航条下面是导航控制器存放子控制器的View(栈顶控制器的View),并且有一个存放子控制器的数组childsViewControllers,最下面是导航控制器的View。

导航控制器UINavigationController的使用:

  初始化:在application:didFinishLaunchingWithOptions(程序加载完毕)方法中设置

    1、创建窗口:self.window =[[UIWindow alloc] initWithFrame:[UIScreen  mainScreen].bounds];

    2、设置根控制器:UIVIewController *Vc = [[UIViewController  alloc] init];

              UINavigationController *nav = [[UINavigationController  alloc] initWithRootViewController:Vc];

              self.window.rootViewController = nav;

    3、显示窗口:[self.window  makeKeyAndVisible];

  

  加载视图控制器   pushViewController:viewController animated:BOOL

  推出视图控制器   popViewController:viewController Animated:BOOL  

  推出到指定控制器   popToViewController:viewController animated:BOOL

  退到根控制器       popToRootViewController:viewController Animated:BOOL

  导航栏是否显示   setNavigationBarHidden:BOOL  animated:BOOL

UINavigation属性

navigationItem

  每一个加到navigationController的ViewController都会有一个对应的navigationItem,该对象是以懒加载的方式创建

  [self.nagationController.navigationBar  setTranslucent:NO];//设置navigationBar的半透明

  [self.navigationController.navigationBar  setBarTintColor:[UIColor  redColor]];//设置navigationBar的颜色

  [self.navigationController.navigationBar  setTintColor:[UIColor  yellowColor]];//设置navigationBar左右按钮的颜色

  1. self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonItemStyleDone target:self action:Nil];//设置navigationbar左边按钮
  2. self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonItemStylePlain target:self action:Nil];//设置navigationbar右边按钮

UIBarButtonItem属于MVC的M,定义了UINavigationItem上按钮的触发事件,外观等

-initWithBarButtonSystemItem:target:action:设置按钮样式及触发事件
-initWithTiltle:style:target:action: 设置标题的触发事件
-initWithImage:style:target:action:设置视图的触发事件
tintColor  设置tintColor可以影响添加在导航条上的系统样式的按钮的颜色

titleTextAttributes:这是navigationBar的一个属性,通过它可以设置title部分字体的属性

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

UITabbarController

APP标配控制器:UINavigationController的更多相关文章

  1. app标配控制器:UITabBarController

    UITabBarController UITabBarController和UINavigationController类似可以轻松的管理多个控制器,底部有一个条,底部条tabBar的高度是49. U ...

  2. iOS开发UINavigation——导航控制器UINavigationController

    iOS开发UINavigation系列一——导航栏UINavigtionBar摘要iOS中的导航条可以附着于导航控制器之中使用,也可以在controller中单独使用,这篇博客,主要讨论有关导航栏的使 ...

  3. 导航栏控制器和标签栏控制器(UINavigationController和UITabBarController)混用

    很多时候,在UI设计方面同时需要使用导航控制器和标签栏控制器,这时,需要掌握如何设计结合使用这两种不同控制器.比如手机QQ,程序有三个标签 栏(分别为消息.联系人.动态),同时在选择某个联系人或者会话 ...

  4. iOS -App主流框架UINavigationController && UITabBarController的简单使用

     一个iOS app几乎没有由一个控制器组成,除非这个app非常简单.       当app中有多个控制器的时候,就需要对这些控制器进行管理,用1个控制器去管理其他多个控制器:       如图所示: ...

  5. 导航控制器(UINavigationController)

    导航控制器管理一系列显示层次型信息的场景.它创建一个视图管理器"栈",栈底为根视图控制器,用户在场景间切换时,依次将试图控制器压入栈中,且当前场景的试图控制器位于栈顶.要返回上一级 ...

  6. Snail—UI学习之导航视图控制器UINavigationController(系统)

    背景 有一个根视图控制器 然后跳转到第一个界面  第一个界面能够返回到根视图 也能够跳转到第二个视图 第二个视图能够直接返回到根视图 新建三个ViewController    RootViewCon ...

  7. 利用协议代理实现导航控制器UINavigationController视图之间的正向传值和反向传值

    实验说明 (1)正向传值:比如A类里地值要传给B类用,就是我们先在A类中声明一个B类对象(当然B类头文件要import过来),然后把A类中得某个 值传递给B类中得某个值(所以需要在B类中先准备一个变量 ...

  8. 轻量级应用开发之(10) UINavigationController导航控制器

    一 多控制器 1)一个iOS的app很少只由一个控制器组成,除非这个app极其简单2)当app中有多个控制器的时候,我们就需要对这些控制器进行管理3)有多个view时,可以用一个大的view去管理1个 ...

  9. [iOS基础控件 - 6.11.2] - UINavigationController 多控制器 简单使用

    A.概念 1.通常一个app有多个控制器 2.需要对这些控制器进行管理 3.有多个view的时候,用一个父view去管理多个子view 4.控制器管理也是如此,使用给一个父控制器,去控制子控制器   ...

随机推荐

  1. 创建EF数据模型

    最后的应用程序,看上去就像下边这样: 创建数据模型,你将从以下三个类开始: 在Models文件夹,新建以下类: using System; using System.Collections.Gener ...

  2. 代码性能优化——task

    var t1 = Task.Factory.StartNew(delegate { //代码(查接口.数据库) }); 缺点: 不能使用request( HttpContext.Current.Req ...

  3. 插件dTree的使用

    解压缩dtree.zip 包.  dtree目录下包括这些文件:example01.html . dtree.js . api.html . dtree.css 和img目录       注意:除了a ...

  4. iOS app 企业内部发布及HTTPS服务器配置

    转自: http://www.cnblogs.com/cocoajin/p/4082488.html iOS企业内部发布及HTTPS服务器配置 一:所需的条件 1. 苹果开发者证书,企业版 299$ ...

  5. ajax post 请求415\ 400 错误

    今天用ajax 向后台发送 post请求时,出现了两个问题: 1, 发送请求后,控制台 返回  Unsupported media type-415(不支持的媒体类型),这时突然想起来,post 请求 ...

  6. Could not resolve placeholder 解决方案

    spring 配置加载properties文件的时候,报 Could not resolve placeholder 错误. 经过仔细查找,排除文件路径,文件类容错误的原因,经过查找相关资料,出现&q ...

  7. [分享] 封装工具ES4配置文件解释

    [分享] 封装工具ES4配置文件解释 LiQiang 发表于 2015-2-3 14:41:21 https://www.itsk.com/thread-346132-1-4.html [分享] 封装 ...

  8. qq加好友加群限制ip怎么解决

    目前各样格式的推广都会用到腾讯QQ,现在就遇到了问题.QQ加好友加群,经常会提示你的账号存在不安全因素,暂停加好友功能.这个原因都是本地同一个IP,登陆的QQ过多,加好友过多.导致这个IP被记录,相当 ...

  9. HTML5 十大新特性(九)——Web Storage

    H5的webStorage技术一共提供了两个对象:window.sessionStorage和window.localStorage. 一.window.sessionStorage--会话级存储 存 ...

  10. Sql Server中实现Mysql中的group_concat函数效果

    ), GuestName) , , '') as CustomerName FROM orderitem oi 以上涉及的两个表是OrderItem和Guest,以属性OrderSN和ItemId连接 ...