NavigetionController(导航栏)

首先,层级关系: leftBarButtonItem、rightBarButtonItem、title都是加在UINavigationItem上的,UINavigationItem再加在NavigationBar上,NavigationBar对应唯一的NavigationController.

创建NavigetionCotroller

NavigetionCotroller的创建需要在AppDelegate.m文件中创建,并且需要设置根视图。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {//1.创建一个窗口(UIWindow)UIWindow * window = [[uiWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];//2.创建一个显示的控制器,ViewController * vc = [ViewController new];UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController:vc];//3.将控制器与Window关联window.rootViewController = controll;//4.将Window显示出来[window makeKeyAndVisible];self.window = window;return YES;
}

UINavigationBar导航栏样式

UINavigationBar是由UINavigationController管理,他的样式是由子控制器self.navigationltem来设置。

//例如:设置导航栏标题
self.navigationltem.titlt = @"标题";

返回按钮点击事件

1.弹出一个栈

[self.navigationController popViewControllerAnimated:YES];

2.弹出到根栈(根视图)

[self.navigationController popToRootViewControllerAnimated:YES];

3.弹出到指定栈(指定位置),只能向上弹出,不能跳转到子页面。

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];

对于navigationBar隐藏的一些设置

尤其是当使用继承自UIScrollView的控件时,有时候经常要针对于navigationBar做出一些设置。

//当tableView等滑动的时候是否隐藏navigationBar。
self.navigationController.hidesBarsOnSwipe = YES ;//当视图接受点击的时候是否隐藏navigationBar。
self.navigationController.hidesBarsOnTap = YES ;//当键盘出现的的时候是否隐藏navigationBar。
self.navigationController.hidesBarsWhenKeyboardAppears = YES ;//当屏幕的方向改变的时候是否隐藏navigationBar。
self.navigationController.hidesBarsWhenVerticallyCompact = YES ;//当视图被push(就是nav的push)完之后是否隐藏底层的bar。
self.navigationController.hidesBottomBarWhenPushed = YES ;

对于修改navigationController返回按钮颜色和文字

需要跳转界面上设置, 下个界面上显示

//本界面上设置, 下个界面上显示
// 方式一
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:nil action:nil];
// 方式二
UIBarButtonItem * backButtonItem = [[UIBarButtonItem alloc] init];
backButtonItem.title = @"返回";
self.navigationItem.backBarButtonItem = backButtonItem;

iOS - navigationController简单使用相关推荐

  1. iOS CAReplicatorLayer 简单动画

    代码地址如下: http://www.demodashi.com/demo/11601.html 写在最前面,最近在看学习的时候,偶然间发现一个没有用过的Layer,于是抽空研究了下,本来应该能提前记 ...

  2. iOS开发------简单实现图片多选功能(Photos.framework篇)

    Photos.framework是iOS8后苹果推出的一套替代AssetsLibrary.framework获取相册资源的原生库,至于AL库,欢迎大家给博文iOS开发--简单实现图片多选功能(Asse ...

  3. 基于iOS的简单计算器(二)

    接上一篇基于iOS的简单计算器(一)皆为po主iOS课程的实验内容. 新增界面 高级计算器:能够进行一些高级的运算比如三角函数.阶乘.对数等. 体质计算器:获取用户的身高体重后,反馈用户的体质指数. ...

  4. iOS上简单推送通知(Push Notification)的实现

    iOS上简单推送通知(Push Notification)的实现 根据这篇很好的教程(http://www.raywenderlich.com/3443/apple-push-notification ...

  5. iOS 类似简单的第三方微博客户端,可进行登录微博浏览相关信息

    Demo地址:https://github.com/ChenNan-FRAM/Fenvo (如果你觉得有用麻烦star一下感激不尽) Fenvo Objective-C, iOS 类似简单的第三方微博 ...

  6. iOS开发-简单工厂模式

    设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性.概念很长,iOS开发中最常 ...

  7. Xamarin的坑 - 绑定(一) - 拿微信iOS SDK 简单说起

    编者语:Xamarin 并入微软快一年了,在国内推广还是慢,主要有两个方面,Xamarin在国内的本地化不足真正在国内的解决方案基本上没有,第二就是和本土的一些主要SDK接入案例基本上也没有.上述原因 ...

  8. iOS最为简单时间轴(GZTimeLine)

    概述 迄今为止最为简单的时间轴 :可以自定义(类似于美团的送餐信息) 详细 代码下载:http://www.demodashi.com/demo/10797.html 迄今为止 最为简单的时间轴 :可 ...

  9. IOS CoreData 简单使用CURD

    2019独角兽企业重金招聘Python工程师标准>>> iOS在CoreData中简单封装了SQLite,让开发者不需要写sql语句就可以使用SQLite进行CURD操作. 要使用C ...

最新文章

  1. 基于SSH实现的学生成绩管理系统
  2. Too many open files问题解决
  3. 【Spring注解系列10】SpringBean的生命周期
  4. 我的 .NET Core 博客性能优化经验补充
  5. PyTorch系列入门到精通——图像预处理transforms
  6. 微软推出免费虚拟太空望远镜软件WWT
  7. 安装python缺少dll_解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
  8. 手把手教你protel 99se 入门
  9. 平谷php,平谷区行政区划_行政区划网(区划地名网) www.xzqh.org
  10. python 列表、元组、字典、集合
  11. ”此网站尚未经过身份验证“问题的解决办法
  12. 奥古斯丁:我是一去不回的风
  13. android集成sdk 马甲包,Android 马甲包制作流程
  14. 【技术贴】解决打开程序出错,提示错误429,activex部件不能创建对象,不用重装系统。...
  15. 超级账本Hyperledger Fabric的使用
  16. Matlab利用plot函数绘制散点图
  17. linux 锐捷客户端 脚本,基于802.1x的锐捷linux客户端认证方法(最新)
  18. 华为服务器安全系统,服务器安全增强系统
  19. seaweedfs调研
  20. 企业网络安全工作制度

热门文章

  1. SPI通讯介绍 以及读写W25Q64(块,扇区,页的区别)
  2. Vue3+Quasar实现ins风格图片墙
  3. keras vscode没法补全问题
  4. 浅谈 Fhq-Treap
  5. android HorizontalScrollView讲解
  6. RTFM:Weakly-supervised Video Anomaly Detection with Robust Temporal Feature【ICCV 2021】附代码注释
  7. kali密码破解笔记
  8. ALBB 二叉树中相差最大节点的绝对差值
  9. html打印图片不显示不全,Word里图片显示全打印不全是怎么回事
  10. 图片饱和度、色调、明度的计算