UI第八讲.UINavigationController, 懒加载, 界⾯面通信(属性传值,delegate代理传值)
导航控制器可以认为是管理控制器的控制器,主要管理有层级关系的控制器。
viewControllers属性存储了栈中的所有被管理的控制器
navigationController属性,父类中的属性,每个在栈中的控制器,都能通过此属性,获取自己所在的UINavigationController对象。
二、定制UINavigationBar(导航栏)
titleView //标题视图
-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接收属性的变量值
(2).delegate代理传值方法
示例代码:(代理传值九步)
viewController.m文件
SecondViewController.h文件
SecondViewController.h文件