zoukankan      html  css  js  c++  java
  • iOS基础之UINavigationController(导航视图控制器)

      UINavigationController:导航视图控制器,是iOS中最常用的多视图控制器之一,用它来管理多个视图控制器,也可以称为管理控制器的控制器,主要管理有层次递进关系的控制器。

      创建导航控制器:

    //创建根视图
    RootViewController *rootVC = [[RootViewController alloc]init];
    //创建导航控制器,把rootVC作为导航控制器的跟视图控制器
    UINavigationController *naVC = [[UINavigationController alloc]initWithRootViewController:rootVC];
    //设置导航为window的根视图
    self.window.rootViewController = naVC;

      在创建完了之后我们要添加一些属性:

      

    //导航栏标题
    self.navigationItem.title = @"主页"
    //左按钮
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(leftAction)];
    //右按钮
    self.navigationItem.rightBarButtonItem = [[UIBarbuttonItem alloc]initWithImage:[UIImage imageNamed;@"next"]style:UIBarButtonItemStylePlain target:self action:@selector(rightAction:)];
    //导航栏的显隐属性
    self.navigationController.navigationBarHidden = NO;
    //导航栏样式
    self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
    //背景颜色
    self.navigationController.navigationBar.backgroundCollor = [UIColor redColor];
    //导航栏颜色
    self.navigationController.navigationBar.barTintColor = [UIColor yellowColor];
    //导航栏元素颜色
    self.navigationController.navigationBar.tintColor = [UIClolor bliackColor];

       导航视图控制器的工作原理:

      1.通过栈的方式管理控制器的切换,控制入栈和出栈来展示各个视图控制器。

      2.UINavigationController的ContenView始终显示栈顶控制器的view

      3.栈的特点:先进后出,后进先出

      4.栈顶为当前显示的视图控制器

      

      导航控制器的一些方法名:

      pushViewController:animated  进入下一个视图控制器

      popViewController Animated: 返回上一个视图控制器

      popToViewController:animated: 返回制定的视图控制器

      popToRootViewControllerAnimated: 返回根视图控制器

      在没有明显的层次关系的时候,我们可以用模态来控制视图控制器的跳转 

    //先创建一个目标视图控制器
    SecondVC *secondVC =[ [SecondVC alloc]init];
    //使用模态跳转
    [self presentViewController:secondVC animated:YES completion:^{}];

    //使用模态返回
    [self dismissViewControllerAnimated:YES completion:^{}];

      完成。

  • 相关阅读:
    P4097 [HEOI2013]Segment(李超线段树模板)
    P2155 [SDOI2008]沙拉公主的困惑
    BZOJ3675 [Apio2014]序列分割[斜率优化dp]
    hdu4261 Estimation[暴力dp+对顶堆]
    poj2374 Fence Obstacle Course[线段树+DP]
    poj1463 Strategic game[树形DP]
    CH5E02 [IOI1999]花店橱窗[暴力dp]
    CH5E01[NOIP2010] 乌龟棋[暴力]
    CH5702 Count The Repetitions[倍增dp]
    P1081 [NOIP2012]开车旅行[倍增]
  • 原文地址:https://www.cnblogs.com/16-jkd/p/5205019.html
Copyright © 2011-2022 走看看