1常用几个方法 全局

//设置navigationBar 的类型 ,ps:

status bar的状态受navigationbar控制(当用navigationcontroller时,通过设置此属性改变状态栏的状态)

    self.navigationBar.barStyle = UIBarStyleDefault;

//status bar的状态受navigationbar控制

self.navigationBar.barStyle = UIBarStyleDefault;

//设置背景

[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];

//设置背景图片

[self.navigationBar setBackgroundImage:[UIImage imageNamed:@"bg"] forBarPosition:UIBarPositionTop barMetrics:UIBarMetricsDefault];

//设置背景透明

[self.navigationBar setTranslucent:true] ;

[self.navigationBar setBackgroundImage:[UIImage  new] forBarPosition:UIBarPositionTop barMetrics:UIBarMetricsDefault];

//返回item或其他item的图片或文字颜色

[[UINavigationBar appearance] setTintColor:[UIColor redColor]];

//设置标题的属性

    //标题文字属性
NSShadow *shadow = [[NSShadow alloc]init];
shadow.shadowBlurRadius = 5;//模糊度
shadow.shadowColor = [UIColor whiteColor];//阴影颜色
shadow.shadowOffset = CGSizeMake(1, 5);//阴影的大小 [self.navigationBar setTitleTextAttributes:@{
NSFontAttributeName:[UIFont systemFontOfSize:22],
NSForegroundColorAttributeName:[UIColor greenColor],
NSShadowAttributeName:shadow
}];

//隐藏某个控制器的导航返回按钮

[self.navigationItem setHidesBackButton:true];

  //改变返回的文字的位置(消失)

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-1000, -1000) forBarMetrics:UIBarMetricsDefault];

//设置返回按钮显示的图片(以下两个属性需同时设置)

[self.navigationBar setBackIndicatorImage:[UIImage new]];

[self.navigationBar setBackIndicatorTransitionMaskImage:[UIImage new]];

2 单独设置某个页面的返回按钮的时候

  假设A--->push-->B  要设置B的返回键文字为‘b的返回’

  那么要在A控制器中设置

     self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"b的返回" style:UIBarButtonItemStylePlain target:self action:@selector(pop)]

3 note!!!

若出现下面的需求:及当前的控制器隐藏掉导航栏设置annimated属性为No的话会出现不可预料的bug,最好这里animated:yes 或者和视图的一样!

- (void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:animated];

[self.navigationController setNavigationBarHidden:YES animated:animated];

}

- (void)viewWillDisappear:(BOOL)animated{

[super viewWillDisappear:animated];

[self.navigationController setNavigationBarHidden:NO animated:animated];

}

关于NavigationBar的笔记的更多相关文章

  1. WWDC15 Session笔记 - Xcode 7 UI 测试初窥

    https://onevcat.com/2015/09/ui-testing/ WWDC15 Session笔记 - Xcode 7 UI 测试初窥 Unit Test 在 iOS 开发中已经有足够多 ...

  2. object - c 语言基础 进阶笔记 随笔笔记

    重点知识Engadget(瘾科技)StackOverFlow(栈溢出)Code4Apprespon魏先宇的程序人生第一周快捷键: Alt+上方向键 跳到最上面  Alt+下方向键 跳到最下面      ...

  3. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  6. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  7. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  8. NET Core-学习笔记(三)

    这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...

  9. springMVC学习笔记--知识点总结1

    以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...

随机推荐

  1. LeetCode_26. Remove Duplicates from Sorted Array

    26. Remove Duplicates from Sorted Array Easy Given a sorted array nums, remove the duplicates in-pla ...

  2. 上交所跨市场ETF申购赎回实时回报

    申购赎回实时回报:1.二级市场过户记录(二级市场代码)2.沪市成分股过户记录(全部成分股)3.非沪市资金记录4.沪市资金记录5.ETF一级市场过户记录(一级市场代码)

  3. TrippleDESCSPEncrypt 加密解密试试看

    public class TrippleDESCSPEncrypt { //12个字符 private static string customIV = "4vHKRj3yfzU=" ...

  4. iOS-收起键盘

    1 除了调用相应控件的resignFirstResponder方法外,还有另外三种办法: 2 重载UIViewController中的touchesBegin方法,然后在里面执行在[self.view ...

  5. maven执行过程中抛出的各类异常信息

    价值 各类异常信息分类 举例 maven源代码的模块maven-core里的各类*Exception命名的class包含里,maven执行过程中打印的各类异常日志内容 比如如下错误 错误信息分别来自( ...

  6. VMware中 CentOs虚拟机的安装教程

    首先点击创建新的虚拟机 选择典型安装,点击下一步 这里我们选择稍后安装操作系统,然后点击下一步 这里我们操作系统选择Linux操作系统,版本选择CentOs 7 64位,然后点击下一步 这里我们可以修 ...

  7. mysql5.6版本数据库向Mysql5.7版本的数据库更新数据

    timestamp 类型不允许 timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', 创建表的是后会报异常,解决方法是: 在my.cnf文件里面假如: s ...

  8. 1、6 登陆 通过name 查到一个对象,如果没有。提示用户名不存在,再将查到的pwd 加传过来的pwd(需要加密)比较

    @RequestMapping("/login") public Object login(Student student) { Student s=studentService. ...

  9. vue-cli webpack打包后加载资源的路径问题

    vue项目,访问打包后的项目,输入路径后,页面加载空白.这时会有两类问题,都是路径问题. 1.一个是css,js,ico等文件加载不到,是目录里少了dist 打开页面时一片空白 解决办法: confi ...

  10. [转帖]redis知识点总结

    redis面试常问知识点总结 https://www.toutiao.com/i6740199554127233543/ 原创 波波说运维 2019-10-02 00:01:00 概述 今天主要分享一 ...