天天看点

iOS学习总结之导航控制器

一、初始化

  ViewController *viewController = [[ViewController alloc]init];

//    导航控制器初始化  设置导航控制器的第一个页面

    UINavigationController *nv = [[UINavigationController alloc]initWithRootViewController:viewController];

    self.window.rootViewController = nv;

二、MVC(设计方式)Model(模型 数据 或者 逻辑运算 操作)- View(视图)-Controller(视图控制器)

所有的iOS应用程序基本都使用 Model-View-Controller 或称 MVC 架构。从架构角度来看 Model、View和Controller是一个iOS应用程序的 三个 重要组件 。

三、通过点击按钮调到指定页面需要先将跳转页面初始化。

    TwoViewController *two = [[TwoViewController alloc]init];

//    通过导航控制器跳到下一个页面

    [self.navigationController pushViewController:two animated:YES];

四、跳转页面

1、当跳转到页面时,如果没有设置背景颜色,就会出现push卡顿现象,所以需要先设置背景颜色。

    self.view.backgroundColor = [UIColor purpleColor];

2、设置导航栏的标题

    self.title = @“登录";

3、修改控制栏上按钮的属性

1>获取控制栏上的左边按钮

UIBarButtonItem *left = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(back)];

2>自定义导航栏导航文字

    UIBarButtonItem *back = [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:@selector(back)];

    self.navigationItem.leftBarButtonItem = back;

3>在返回方法中实现如下方法即可放回上一页面

 [self.navigationController popViewControllerAnimated:YES];

4>在导航栏右边加一张按钮图片

   1)先初始化设置一个按钮

   2)添加至导航控制器中

方法一:

  [self.navigationController.navigationBar addSubview:按钮];

方法二:

    UIBarButtonItem *item = [[UIBarButtonItem alloc]initWithCustomView:right];

    self.navigationItem.rightBarButtonItem = item;

5>返回首页方法

[self.navigationController popToRootViewControllerAnimated:YES];

6>返回指定页面方法

//  viewControllers 记录了 所有push压栈过的viewControllers

//    在不想返回上一个页面 也不想返回首页的时候

    [self.navigationController popToViewController:self.navigationController.viewControllers[1] animated:YES];

继续阅读