// 导航控制器

// 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. 使用Webpack搭建Vue项目

    前提: 1.  借助Node.js环境里的npm来安装, 2.  设置好npm镜像, (比如淘宝的npm镜像:输入 引用 npm install -g cnpm –registry=https://r ...

  2. git命令详情

    1.安装 yum install git 2.创建版本库 git init 3.添加文件 git add file.txt 4.提交文件 git commit -m “新增文件” 5.仓库当前状态 g ...

  3. sublime view_in_browser

    今天安装了sublime的插件view in browser,发现ctrl+alt+V用不了,在preferences看了view in browser的配置,发现browser不是我电脑上的默认浏览 ...

  4. linux命令(6):tar命令

    压缩方法:tar zcvf test.tar.gz test [表示把文件夹目录压缩成test.tar.gz文件保存] 解压方法:tar zxvf test.tar.gz –C /home [表示解压 ...

  5. 安装vmware+CentOS 7.4

    安装步骤 选择第一个 按tab键 空格下一行 输入 红框内容  回车 注意事项 道路不通排查过程1.ip地址2.vmware 编辑-虚拟网络编辑器3.windows 服务 vmware相关服务 要开启 ...

  6. JQuery 获取页面某一元素的位置

    获取页面某一元素的绝对X,Y坐标 var X = $('#ElementID').offset().top; var Y = $('#ElementID').offset().left; 获取相对(父 ...

  7. JMX monitor weblogic 总结

    https://blog.csdn.net/joy_91/article/details/42774839

  8. Raspberry Pi Finder

    这是 meelo 原创的 玩转树莓派 系列文章 作为一名新手,你可能苦恼与如何寻找树莓派的IP地址.要想寻找IP地址,在不同的连接状况下,的方法是不一样的,这在其它教程里有作详细介绍(使用路由器连接树 ...

  9. 我的第一个web开发框架

    怎么才能成为一名架构师?需要具备哪些条件? 作为一名码农我迫切希望自己成为一个比较合格的web架构师,昨晚心血来潮小弟花了4个小时的时间整了个简易的web开发框架,本着开源的精神做个分享,希望和更多的 ...

  10. 360杀毒导致的 VS 报扩展错误,请查看 ActiveLog.xml

    360杀毒将 TypeScript的 tsserver.js 列为木马,结果导致VS2017启动时,总是报错,将其加为信任即可解决.