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)#>

返回到历史页面中得某一个。


你可能感兴趣的:(Navigation Controller 学习 蓝懿教育)