首页 > 其他 > 详细

UI第八讲.UINavigationController、界?面通信

时间:2015-09-16 21:29:41      阅读:217      评论:0      收藏:0      [点我收藏+]
一、UINavigationController
    1>. UINavigationController:导航控制器,是iOS中最常用的多视图控制器之一,它用来管理多个视图控制器。
    导航控制器可以认为是管理控制器的控制器,主要管理有层级关系的控制器。
     2>.创建
      UINavigationController继承于UIViewController,以栈的方式管理所控制的视图控制器,至少要有一个被管理的视图控制器,这个控制器我们称作,导航控制器的根视图控制器任何继承自UIViewController的类(多态)都可以作为根控制器。
     3>.工作原理
     UINavigationController通过的方式管理控制器的切换,控制入栈和出栈来展示各个视图控制器UINavigationControllerContentView里始终显示栈顶控制器的view

     viewControllers属性存储了栈中的所有被管理的控制器

     navigationController属性,父类中的属性,每个在栈中的控制器,都能通过此属性,获取自己所在的UINavigationController对象

技术分享

 

技术分享

 

二、定制UINavigationBar(导航栏)

    1>. barTintColor //设置导航条的颜色
        setBackgroundImage:forBarMetrics: //导航条加背景图?片
      title   //标题
      titleView   //标题视图
      leftBarButtonItem   //左按钮
      rightBarButtonItem   //右按钮

 

   2>.UIBarButtonItem属于MVCM。定义了UINavigationItem上按钮的触发事件,外观等

    -initWithBarButtonSystemItem:target:action:

    -initWithTitle:style:target:action:

    -initWithImage:style:target:action: tintColor

 

 

示例代码:

UINavigationController的基本属性及设置,对于返回上一级和进入下一级方法的运用

 

Appdelegate.m中,设置window,同时设置UINavigationController

 

技术分享

 

在viewcontroller.m中,对于UINavigationController进本属性进行设置,同时运用push/pop方法

 

技术分享

 

技术分享

 

//注意这里的懒加载方法

技术分享

 

 

在secondViewController.m中主要是设置按钮和利用按钮进行视图的切换

 

技术分享

 

在threeViewController.m中主要是设置按钮和利用按钮进行视图的切换

 

技术分享

 

 

 

三.界面通信

 

 (1).属性传值方法

例子:利用传值,在第一个视图推出到第二个视图时,在第一个视图中为第二个视图控制器的title赋值

 步骤:1>.先要在第二个视图控制器的.h文件中设置属性,同时在第二个视图控制器的.m中接受这个属性地变量值.

      2.在第一个视图控制器的.m中,把第二个视图控制器引入到第一个当中,并给第二个视图控制器的属性赋值.

     

引入secondViewController.h到第一个视图控制器中

 技术分享

 

在secondViewController.h中,设置属性

技术分享

 

在secondViewController.m中,用title接收属性的变量值

技术分享

 

未完,待续

 

 

 

 

 

 

 

 

 

 

 

 

 

UI第八讲.UINavigationController、界?面通信

原文:http://www.cnblogs.com/erdeng/p/4814359.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!