Navigation Controller 学习

目前只接触了一种controller,就是UIViewController。

navigation controller负责管理多个ViewController。负责多个页面的调整。
页面的层级关系:
当有层级关系,横向变换的。手机的“通用设置”中的相关信息。
无层级关系的上下变换的。如登陆界面。

添加navigation controller
1、选择当前项目生成的


第二个方法添加:


把它自带的第二个页面删除。
箭头代表的是 程序运行起来的第一个页面。
让箭头指向 导航控制器

按住Control键连到 ViewController中。选择root ViewController选项。
导航控制器是用来控制几个页面之间跳转的。
选择RootViewController,表面那个ViewController是第一个页面。

此时运行程序,可以看到多了一个NavigationBar,多了一个导航栏。
加一个标题:
有了这个导航控制器
跳转页面的方法。
先准备一个页面。新建一个SecondViewcontroller 继承与 UIViewController。

导入:

Viewcontroller中拖拽一个button关联事件。


因为导航控制器的作用就是控制页面的跳转。所以只要加了导航控制器。所有的ViewController都有这个属性。
self .navigationController 拿到的是当前所管理它的navigationController。

调用 pushViewController方法。

- ( IBAction )clicked:( id )sender {
   
  // 点击按钮跳转到第二个界面,先创建一个页面
   
  secondViewController  *vc = [[ secondViewController  alloc ] init ];
   
   
  // 之前的跳转方法
//    [self presentViewController:vc animated:YES completion:nil];
   
  // 使用导航控制器跳转
    [
self . navigationController  pushViewController :vc  animated : YES ];
}
给SecondViewController加个背景色
通过导航控制器控制的跳转。不用自己写“返回”。导航栏有。
若要自己写返回:
用个timer控制其1s返回。
事件是:     
-( void )backAction{
   
  // 返回到上一个页面
    [
self . navigationController  popViewControllerAnimated : YES ];
   
}
popToRootViewControllerAnimated:<#(BOOL)#>
返回到根视图
popToViewController:<#(UIViewController *)#> animated:<#(BOOL)#>
返回到历史页面中得某一个。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值