UINavigationController 详解
// 导航控制器
// 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 详解的更多相关文章
- iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINavigati ...
- [转]iOS学习之UINavigationController详解与使用(三)ToolBar
转载地址:http://blog.csdn.net/totogo2010/article/details/7682641 iOS学习之UINavigationController详解与使用(二)页面切 ...
- UINavigationController详解一(转)UIBarButtonItem
本文出自:http://www.cnblogs.com/smileEvday/archive/2012/05/14/2495153.html 特别感谢. 1.UINavigationControlle ...
- [转]iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController
转载地址:http://blog.csdn.net/totogo2010/article/details/7682433 iOS学习之UINavigationController详解与使用(一)添加U ...
- iOS学习之UINavigationController详解与使用(三)ToolBar
1.显示Toolbar 在RootViewController.m的- (void)viewDidLoad方法中添加代码,这样Toobar就显示出来了. [cpp] view plaincopy [ ...
- iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController
iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem是上篇,我们接着讲UINavigationController的重要作用,页面的管理和切换. ...
- UI第六节——UINavigationController 详解
1. UINavigationController 是一个容器类.里面盛放的是UIViewController. 容器的意思是,如果你不放入UIViewController,里面就是空的,什么也没有. ...
- IOS开发之UINavigationController详解
UINavigationController是IOS编程中比较常用的一种容器view controller,很多系统的控件(如UIImagePickerViewController)以及很多有名的AP ...
- UINavigationController详解三(转)ToolBar
原文出自:http://blog.csdn.net/totogo2010/article/details/7682641,特别感谢. 1.显示Toolbar 在RootViewController. ...
- UINavigationController详解二(转)页面切换和SegmentedController
原文出自:http://blog.csdn.net/totogo2010/article/details/7682433,非常感谢. 1.RootView 跳到SecondView 首先我们需要新一个 ...
随机推荐
- Winfrom窗体间传值
1.通过tag属性传输,tag属性是存储与空间密切相关的数据.比如登陆界面的数据传输给主界面. 子窗体 ...
- python笔记_查看函数调用栈的一个小技巧
一.背景 最近在看一个开源框架的源码,涉及到的内容非常杂乱,有的函数不知道是在什么时候被谁给调用了?调用的时候传入了什么参数?为了解决这个问题,写了一个小的装饰器. 二.实现 这个装饰器函数主要参考了 ...
- Name Disambiguation in AMiner-Clustering, Maintenance, and Human in the Loop
Name Disambiguation in AMiner: Clustering, Maintenance, and Human in the Loop paper:http://keg.cs.ts ...
- Freemarker中JS取Data-model的值的问题
不能在表达式中使用js变量,比如: var key = 1; var value = "${stateMap[key]}"; 因为Freemarker是在服务器端进行解析的,此时j ...
- Gray Code——陈瑶师姐面试时候要用回溯算法
The gray code is a binary numeral system where two successive values differ in only one bit. Given a ...
- 微信小程序获取用户信息“授权失败”场景的处理
很多的时候我们在处理小程序功能的时候需要用户获取用户信息,但是呢为了信息安全,用户不授权导致授权失败场景:但是小程序第二次不在启动授权信息弹层,为了用户体验,可以用以下方式处理: function i ...
- 【转】kubernetes 中 deployment 支持哪些键值
这个比较全,可以参考 ================= https://www.addops.cn/post/kubernetes-deployment-fileds.html ========== ...
- Java学习笔记(十三一)——Xml 常用知识总结
[前面的话] 在学习spring框架,发现很多地方都用到了Xml的知识,所以会过头来再学习学习Xml. 本章学习的是Xml的基础,所以基础性文章,选择性阅读. [Xml] 一.Xml初步了解 XML ...
- linux在命令执行过程中ctrl +z 后[1]+ Stopped
进程挂起 stopped 代表有进程挂起 [1]是id号 可以通过Linux命令:jobs 查看挂起进程 fg 1 把任务1放到前台 bg 1 把任务1放到后台
- 编写.gitignore 文件
讲代码 放入 Git 仓库中进行版本控制管理时,有些文件是不需要放入Git 中,比如 Maven 生成的target 目录,IDEA/Eclipse的工程文件, 在项目的根目录 下 添加一个名为.gi ...