// 导航控制器

// 1. 比较常用的视图控制器管理类

// 2. 以栈的形式管理视图控制器, 先进后出

// 3. 创建navigation后, 视图控制器上会多出一个导航栏

// 4. 导航栏高度 44 + 加 状态栏 20

对导航视图控制器的一些属性和方法的应用:

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// 设置navigationbar 的属性
// 1. title 标题
self.title = @"标题"; // 这里的title被冲掉了
self.navigationItem.title = @"XXX";
// 2. titleview 标题视图
// 标题视图, 修改x, y对视图本身没有影响
UISegmentedControl *seg = [[UISegmentedControl alloc] initWithItems:@[@"晃晃", @"马峰"]];
seg.frame = CGRectMake(, , , );
self.navigationItem.titleView = seg;
// 3. leftBarButtonItem
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:@selector(back:)];
// 4. rightBarButtonItem
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(nibBundle)];
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(nibBundle)];
// 5. leftBarButtonItems
UIBarButtonItem *barButtonItemTitle = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(back:)];
UIBarButtonItem *barButtonItemTitle1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(back:)];
self.navigationItem.leftBarButtonItems = @[barButtonItemTitle, barButtonItemTitle1];
// 6. leftBarButtonItems
// leftBarButtonItems 数组中放一到两个为优
// 7. 隐藏 下面两个等效
self.navigationController.navigationBarHidden = NO;
self.navigationController.navigationBar.hidden = NO;
// 8. barStyle 背景样式, 默认default
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
// 9. navigationBar的背景颜色
self.navigationController.navigationBar.backgroundColor = [UIColor redColor];
// 10. barTintColor Bar的颜色
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
// 11. Bar上元素的颜色
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
// 12. translucent 管理半透明效果, YES为开启, NO为关闭
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
button.backgroundColor = [UIColor yellowColor];
[button addTarget:self action:@selector(next) forControlEvents:UIControlEventTouchUpInside];
button.frame = CGRectMake(, , , );
[self.view addSubview:button];
// 设置为yes时, self.view坐标系从原点开始
// 设置为no时, self.view坐标系从navigationBar开始
// 默认为yes
self.navigationController.navigationBar.translucent = YES;
// 13. 改变坐标效果, 与translucent为NO效果一样
//self.edgesForExtendedLayout = UIRectEdgeNone;
// 页面跳转相关
// 1. push 入栈 pushViewController
// 2. pop 出栈 popViewControllerAnimated
// 3. viewcontroller 存放navigationgController里所有的视图控制器
// 4. topViewController 栈顶视图控制器
// 5. visibleViewController 当前显示的视图控制器
}

UINavigationController 详解的更多相关文章

  1. iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem

    http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINavigati ...

  2. [转]iOS学习之UINavigationController详解与使用(三)ToolBar

    转载地址:http://blog.csdn.net/totogo2010/article/details/7682641 iOS学习之UINavigationController详解与使用(二)页面切 ...

  3. UINavigationController详解一(转)UIBarButtonItem

    本文出自:http://www.cnblogs.com/smileEvday/archive/2012/05/14/2495153.html 特别感谢. 1.UINavigationControlle ...

  4. [转]iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController

    转载地址:http://blog.csdn.net/totogo2010/article/details/7682433 iOS学习之UINavigationController详解与使用(一)添加U ...

  5. iOS学习之UINavigationController详解与使用(三)ToolBar

    1.显示Toolbar  在RootViewController.m的- (void)viewDidLoad方法中添加代码,这样Toobar就显示出来了. [cpp] view plaincopy [ ...

  6. iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController

    iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem是上篇,我们接着讲UINavigationController的重要作用,页面的管理和切换. ...

  7. UI第六节——UINavigationController 详解

    1. UINavigationController 是一个容器类.里面盛放的是UIViewController. 容器的意思是,如果你不放入UIViewController,里面就是空的,什么也没有. ...

  8. IOS开发之UINavigationController详解

    UINavigationController是IOS编程中比较常用的一种容器view controller,很多系统的控件(如UIImagePickerViewController)以及很多有名的AP ...

  9. UINavigationController详解三(转)ToolBar

    原文出自:http://blog.csdn.net/totogo2010/article/details/7682641,特别感谢. 1.显示Toolbar  在RootViewController. ...

  10. UINavigationController详解二(转)页面切换和SegmentedController

    原文出自:http://blog.csdn.net/totogo2010/article/details/7682433,非常感谢. 1.RootView 跳到SecondView 首先我们需要新一个 ...

随机推荐

  1. python中eval函数使用

    把字符串转换为字典: s = "{'a':1}" eval(s)

  2. 内核添加USB模块

    Device Drivers->SCSI device support->SCSI disk support Device Drivers->USB support->Supp ...

  3. linux和性能相关的命令及系统性能诊断

    常用的和性能有关的命令 Iostat/vmstat/top/mpstat/time/strace/ipcs/ipcrm/ifconfig/tethereal/netstat/free/uptime 关 ...

  4. 《深入浅出MyBatis技术原理与实战》——1.简介,2.入门

    1. 简介 Java程序都是通过JDBC连接数据库,但是只定义了接口规范,具体的实现交给各个数据库厂商去实现,因为每个数据库都有其特殊性.所以JDBC是一种桥接模式. 这里为什么说JDBC是一种桥接模 ...

  5. Pow(x, n)——这也能用二分法!!!!

    Implement pow(x, n). 下面介绍一下解决该问题的几种方法以及要注意的地方: 1)最直观容易想到的方法就是用递归方法求n个x的乘积,注意考虑n的正负号,时间复杂度为O(n) class ...

  6. Python图像处理库(1)

    转自:http://www.ituring.com.cn/tupubarticle/2024 第 1 章 基本的图像操作和处理 本章讲解操作和处理图像的基础知识,将通过大量示例介绍处理图像所需的 Py ...

  7. 用matplotlib绘制漫画风格的图表

    自从有了计算机,便很少有人手工绘制图表了.计算机绘制出的图表横平竖直,可以随意使用各种颜色,也完全不用担心画错需要重来的问题. 但有没有一种感觉,看多了工整的图表,变得有些审美疲劳.在各行各业逐渐过渡 ...

  8. Java学习笔记(九)——javabean

    [前面的话] 实际项目在用spring框架结合dubbo框架做一个系统,虽然也负责了一块内容,但是自己的能力还是不足,所以还需要好好学习一下基础知识,然后做一些笔记.自己的自学能力还是显得不够好,每次 ...

  9. 如何实现electron多页面间通信

    如何实现electron多页面间通信 1,业务需求: 总共有两个页面,页面A显示数据,页面B处理数据,主线程Main 2,实现的技术方案: 在主线程中打开页面A和B,B页面不进行显示,主要负责处理从A ...

  10. ubuntu使用命令更新ubuntu系统

    我们都知道ubuntu是一款linux系统,它不像WINDOWS系统,它是一个开源的系统,它随时都在更新它系统,所以人们都说Linux系统要比WINDOWS系统安全.为了我们电脑安全,我们如何利用ub ...