UINavigationController的视图切换

一、基本概念

> UINavigationController(导航控制器)继承于视图控制器,通过栈的方式来管理视图控制器,视图控制器之间通过入栈、出栈操作进行切换。

> UINavigationController(导航控制器)用于处理复杂的分层数据。

> UINavigationController(导航控制器)维护一个根视图控制器栈,任何类型的视图控制器都可以放到导航控制器的栈中。


二、初始化方法

- (id) initWithRootViewController:(UIViewController *)rootViewController;
// 初始化时,传递一个视图控制器的参数,作为导航控制器的根视图控制器,导航控制器实例加载完成后,根视图控制器的视图会被添加到导航控制器中。注意,导航控制器只有一个根视图控制器!

三、导航控制器的视图控制器的入栈出栈方法

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated; 

- (UIViewController *)popViewControllerAnimated:(BOOL)animated; 

- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated; 

- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated; 


工程示例:

1、首先创建一个名为nivagationControllerCode的Empty Application工程文件。然后创建两个视图控制器类。接下来在

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;方法中添加代码,如图示:


2、在主视图控制器中添加一个按钮,用来触发视图控制器入栈的动作方法,代码如下图所示:


3、在子视图控制器中添加一个按钮,用于触发子视图控制器出栈的动作方法,代码如下图所示:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值