1.创建一个UINavigationController

self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

FirstViewController * first = [[FirstViewController alloc]init];

UINavigationController * nav = [[UINavigationController alloc]initWithRootViewController:first];  UINavigationController第一个显示的界面

self.window.rootViewController = nav;

[self.window makeKeyAndVisible];

2.隐藏导航栏工具栏

self.navigationController.navigationBarHidden = YES;

self.navigationController.toolbarHidden = NO;

3.设置导航栏和工具栏的颜色(设置了之后所有都是这个颜色,因为只有一个navigationController)

self.navigationController.toolbar.barTintColor = [UIColor redColor];

self.navigationController.navigationBar.barTintColor = [UIColor redColor];

4.设置左右显示的按钮

UIBarButtonItem * leftBtn = [[UIBarButtonItem alloc]initWithTitle:@"Cancel" style:UIBarButtonItemStyleDone target:nil action:nil];

self.navigationItem.leftBarButtonItem = leftBtn;

self.navigationItem.leftBarButtonItem.tintColor = [UIColor whiteColor];

UIBarButtonItem * rightBtn = [[UIBarButtonItem alloc]initWithTitle:@"Next" style:UIBarButtonItemStyleDone target:self action:@selector(gotoSecondView)];

self.navigationItem.rightBarButtonItem = rightBtn;

self.navigationItem.rightBarButtonItem.tintColor = [UIColor whiteColor];

5.设置标题

self.navigationItem.title =@"标题";

6.标题位置设置成view

UIView * view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 44)];

view.backgroundColor = [UIColor yellowColor];

self.navigationItem.titleView = view;

7.Next按钮响应第二个界面

-(void)gotoSecondView{

SecondViewController * svc = [[SecondViewController alloc]init];

//设置默认提供的返回按钮的标题

UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStyleDone target:nil action:nil];

self.navigationItem.backBarButtonItem = backItem;

//present:在现有的界面上盖上一层 dismissViewController来消除

//[self.navigationController presentViewController:svc animated:YES completion:nil];

//push:push入栈 pop出栈来消除

[self.navigationController pushViewController:svc animated:YES];

}

0129——UINavigationController的更多相关文章

  1. iOS UINavigationController(内容根据iOS编程编写)

    我们知道 UITabBarController 对象,可以通过使用该对象,用户可以切换不同的屏幕.当要切换的各个屏幕之间没有相互依存关系的时候,该对象可以很好的完成任务.但是当多个屏幕互有关系的时候, ...

  2. UINavigationController

    知识点: 1)UINavigationController 2)UINavigationBar 3)UINavigationItem 4)UIToolBar ===================== ...

  3. 混合使用UITabBarController和UINavigationController

    混合使用这两个控件的好处是我们可以在NavigationBar添加更多的东西,如标题,按钮等.让用户能够获得更多的信息. UITabBarController的属性ViewControllers接受以 ...

  4. 基本组件的使用——UINavigationController

    作用:在多个ViewController中切换.UINavigationController内部以栈的形式维护一组ViewController, 因此,当导航进入一个新视图的时候,会以push的形式将 ...

  5. 解决UINavigationController在pushViewController时出现的"卡顿"问题

    进行开发中,遇到了个小问题: 在使用UINavigationController的-pushViewController:animated:执行入栈一个子控制器操作时(即最新栈顶子控制器),会出现推出 ...

  6. UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解

    (1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最下面,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界 ...

  7. IOS 学习 开发 自定义 UINavigationController 导航

    文件目录如下:基本导航顺序: root -> First -> Second -> Third.其中,FirstViewController作为 navigation堆栈的rootv ...

  8. APP标配控制器:UINavigationController

    导航控制器UINavigationController简介: 只要看到控制器界面上部有一个条就是导航控制器UINavigationController 导航控制器最上面有一个条是导航条高度44,Y值是 ...

  9. UIScrollerView遇到UINavigationController

    今天在UITabBarController  的第一个Tab 页面中放入一个ScrollView, 原本以为可以正常运行. 结果却让人大跌眼镜.  每当我手动滚动或者 缓慢导航到另外一个页面时,当前的 ...

随机推荐

  1. Dijkstra算法 最短路径 (部分)

    void Dijkstra(int n, int v, int *dist, int *prev, int c[maxnum][maxnum]) {     bool s[maxnum];       ...

  2. do/while(0) c4127

    原文链接:http://cnicholson.net/2009/03/stupid-c-tricks-dowhile0-and-c4127/ // NOISY CODE #define MULTI_L ...

  3. 关于ubuntu 系统

    1. ubuntu怎么卸载自带的软件中心?sudo apt-get remove software-center 2. 重新安装ubuntu软件中心!sudo apt-get install --re ...

  4. C#中类的属性

    1.[StructLayout] 控制类或结构的数据字段在托管内存中的物理布局,即类或结构需要按某种方式排列.如果要将类传递给需要指定布局的非托管代码,则显式控制类布局是重要的. 2.[Marshal ...

  5. 1234: ZJTZYRC筛offer(并查集 )

    链接:http://xcacm.hfut.edu.cn/problem.php?id=1234 以后关于字符的输入都用cin吧,换成scanf居然wa了 #include <iostream&g ...

  6. DataTables语言国际化

    $('#example').DataTable({     language: {         "sProcessing": "处理中...",       ...

  7. Android学习笔记--Handler用法总结

    不错的例子:http://www.cnblogs.com/menlsh/archive/2013/06/07/3125341.html 转自:一叶知秋的博客 http://blog.sina.com. ...

  8. Spring MVC使用@ResponseBody返回JSON数据406以及乱码问题解决方案

    刚到一家公司,做原始的工作---接口,程序就我一人,没环境,没架构,更没旧项目可以利用,一切从0开始,经理以为我是老鸟,来就布置任务,要一周拿出结果.其实有现成架构的话写个接口还不是分分钟钟的事,关键 ...

  9. linux文件系统学习

    linux系统支持很多种文件系统. 1. 如何确认当前系统挂载了哪些文件系统? 使用mount命令可以查看当前系统上已经挂载了哪些文件系统, sh-# mount rootfs on / type r ...

  10. C++程序面试笔迹六

    1.const和static的作用 用最熟悉的语言: 2.阶乘求和  如:1!+2!+3!+4!+……+n!=sum? 3.删除掉字符串中相同的字母只留有一个  如: akkkjjtyy——> ...