// 导航控制器

// 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. 网站服务器压力Web性能测试(4):服务器压力Web性能测试小结

    1.Apache Bench,Webbench,http_load对网站压力Web性能进行测试时,为了得到更加客观和准确的数值,应该从远程访问.局域网访问和本地等多个方面进行全方位的测试.一般用127 ...

  2. Makefile系列之三 : 变量

    一.变量的基础 变量在声明时需要给予初值,而在使用时,需要给在变量名前加上“$”符号,但最好用小括号“()”或是大括号“{}”把变量给包括起来.如果你要使用真实的“$”字符,那么你需要用“$$”来表示 ...

  3. PCA和SVD

    一.PCA(Principal Component Analysis) 主成分分析,数据从原来的坐标系转换到新的坐标系,只保留新坐标系中的前面几个坐标轴,即对数据进行了降维处理 1.算法描述 (1)第 ...

  4. 使用 Visual Studio 部署 .NET Core 应用

    可将 .NET Core 应用程序部署为依赖框架的部署或独立部署,前者包含应用程序二进制文件,但依赖目标系统上存在的 .NET Core,而后者同时包含应用程序和 .NET Core 二进制文件. 有 ...

  5. 883H - Palindromic Cut(思维+STL)

    题目链接:http://codeforces.com/problemset/problem/883/H 题目大意:给一段长度为n的字符串s,想让你把s切成几段长度相同的回文串,可以改变s中字符的排列, ...

  6. 【bzoj1132】[POI2008]Tro 计算几何

    题目描述 平面上有N个点. 求出所有以这N个点为顶点的三角形的面积和 N<=3000 输入 第一行给出数字N,N在[3,3000] 下面N行给出N个点的坐标,其值在[0,10000] 输出 保留 ...

  7. ARM芯片stm32中的AHB和APB

    AHB,是Advanced High performance Bus的缩写,译作高级高性能总线,这是一种“系统总线”.AHB主要用于高性能模块(如CPU.DMA和DSP等)之间的连接.AHB 系统由主 ...

  8. 洛谷P2751[USACO]工序安排

    题目传送门 怎么说呢,这个题目我刚开始随便乱搞了几下,交了个暴力代码上去居然还水了49分,数据确实有点弱啊,然后看到洛谷上那位大佬Redbag的题解瞬间就佩服的五体投地,那真的是简洁.易懂又高效.直接 ...

  9. redis的运行机制

    从以前总结的redis一些基本性能中,可知redis是非关系型数据库(nosql):这一类的数据类型有以下特点: 非关系型的(sql语句对它不起作用,不需要建表存数据,它是直接存储),分布式(主从复制 ...

  10. PMP CMM

    CMM和PMP是两个不同的概念域,是用来解决不同问题的.我们所说的CMM,准确的说应该是叫做能力成熟度模型,北京猴子说的软件能力成熟度模型实际上应该称为SW-CMM,是CMM的一个子集.PMP可以看做 ...