在写项目的工程中,我们可能会遇到各种各样的项目,写的方法也是各有不同,不喜欢自定义的小伙伴也很多,

下面我就记录下系统导航和barbuttonitem的修改系统空间的方法:

1,添加rightbarbuttonitem的方法

UIImage* img=[UIImage imageNamed:@"logoff.png"];

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];

btn.frame =CGRectMake(, , , );

[btn setBackgroundImage:img forState:UIControlStateNormal];

[btn addTarget: self action: @selector(exitAction) forControlEvents: UIControlEventTouchUpInside];

    UIBarButtonItem* item=[[UIBarButtonItemalloc]initWithCustomView:btn];

    self.navigationItem.rightBarButtonItem=item;

2,BarButtonItem设置背景图片,颜色更改解决办法

self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"MoreImage"] style:UIBarButtonItemStylePlain target:self action:@selector(moreItemPress)];

用这种方法,设置的背景图片,颜色变掉了。不是原来设置的图片颜色。

可以用另外一种方式,可以解决变色的问题:

UIButton*rightButton = [[UIButton alloc]initWithFrame:CGRectMake(,,,)];

[rightButton setImage:[UIImage imageNamed:@"MoreImage"] forState:UIControlStateNormal];

[rightButton addTarget:self action:@selector(moreItemPress) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem*rightItem = [[UIBarButtonItem alloc]initWithCustomView:rightButton];

self.navigationItem.rightBarButtonItem= rightItem;

3,修改title字体颜色,导航栏背景颜色,返回字体等

    //改变系统导航title的字体颜色
self.navigationController.navigationBar.tintColor = [UIColor whiteColor]; //改变系统导航title的字体大小和自定义字体
[self.navigationController.navigationBar setTitleTextAttributes:
@{NSFontAttributeName:MainFont(),NSForegroundColorAttributeName:[UIColor whiteColor]}];
   //改变系统导航的背景颜色
self.navigationController.navigationBar.barTintColor = [UIColor greenColor];
或者
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
//为barbuttonitem的返回字体添加字体颜色
self.navigationController.navigationBar.tintColor = MainColor;
//为barbuttonitem添加自定义图片
[self.navigationItem.leftBarButtonItem setBackgroundImage:[UIImage imageNamed:@"backBarButton"] forState:(UIControlStateNormal) barMetrics:(UIBarMetricsDefault)];

iOS开发之--改变系统导航的颜色,字体,还有返回样式的自定义的更多相关文章

  1. iOS开发,改变系统铃声音量和静音,并非媒体播放音量

    使用AVSystemController可以改变系统声音,而且是铃声,并非媒体播放的声音. 它可以让iPhone手机静音.但是,AVSystemController存在于私有Celestial框架中. ...

  2. IOS开发基础知识碎片-导航

    1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...

  3. iOS开发UITableViewCell的选中时的颜色设置(转)

    iOS开发UITableViewCell的选中时的颜色设置   1.系统默认的颜色设置 //无色 cell.selectionStyle = UITableViewCellSelectionStyle ...

  4. 【转】iOS开发UITableViewCell的选中时的颜色设置

    原文网址:http://mobile.51cto.com/hot-404900.htm 1.系统默认的颜色设置 //无色 cell.selectionStyle = UITableViewCellSe ...

  5. iOS开发UITableViewCell的选中时的颜色设置

    1.系统默认的颜色设置 //无色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色 cell.selectionStyle = ...

  6. IOS开发-表视图LV3导航控制器

    学到这里感觉有点难了,其实这篇文章再草稿箱里放了好久了~ 最近对于学习的热情下降了.这不行-抓紧学习走起! 在这一章节的学习中主要针对导航控制器及表视图来建立多视图的应用, 首先要了解一些概念-- 1 ...

  7. iOS开发UI篇 -- UISearchBar 属性、方法详解及应用(自定义搜索框样式)

    很多APP都会涉及到搜索框,苹果也为我们提供了默认的搜索框UISearchBar.但实际项目中我们通常需要更改系统默认搜索框的样式.为了实现这一目标,我们需要先搞懂 UISearchBar 的属性及方 ...

  8. 【iOS开发-22】navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转

    http://blog.csdn.net/weisubao/article/details/39646739?utm_source=tuicool&utm_medium=referral (1 ...

  9. 【iOS开发-22】navigationBar导航栏,navigationItem建立:获取导航栏中的基本文本和button以及各种跳跃

    (1)navigationBar导航栏可以被看作是self.navigationController一个属性导航控制器,它可以由点直接表示self.navigationController.navig ...

随机推荐

  1. spring Log4j关于No appenders could be found for logger的警告

    (spring环境下)配置Log4j时候,当启动WEB程序时,提示了如标题的警告,具体如下:log4j:WARN No appenders could be found for logger (org ...

  2. Memory leak patterns in JavaScript

    Handling circular references in JavaScript applications Plugging memory leaks in JavaScript is easy ...

  3. 细说WebSocket -- Node.js篇

    在上一篇提高到了 web 通信的各种方式,包括 轮询.长连接 以及各种 HTML5 中提到的手段.本文将详细描述 WebSocket协议 在 web通讯 中的实现. 一.WebSocket 协议 1. ...

  4. python3的pip管理器pip3

    一且因为python2到3的痛苦升级,python3的pip程序也有一个别致的名字pip3 安装: apt-get install python3-pip 安装后不能直接使用pip,否则会提示没有安装 ...

  5. wechat talk

    https://github.com/13770344697/nanjingzhongan https://github.com/fayuanliu/wxRobot https://github.co ...

  6. redis 做为缓存服务器 注项!

    作为缓存服务器,如果不加以限制内存的话,就很有可能出现将整台服务器内存都耗光的情况,可以在redis的配置文件里面设置: # maxmemory <bytes> #限定最多使用1.5GB内 ...

  7. linux之basename

    NAME top basename, dirname - parse pathname components SYNOPSIS top #include <libgen.h> char * ...

  8. ubuntu -- mf210v拨号流程

      1 脚本建立 Root权限进入Ubuntu,在 /etc/ppp/ 下面建立两个目录,如果有就不需要建立了.直接把脚本放进去或者建立新文件即可. cd /etc/ppp mkdir peers c ...

  9. SQL Server 数据库同步,订阅、发布、复制、跨服务器

    随便说两句 折腾了一周,也算把数据库同步弄好了.首先局域网内搭建好,进行各种测试,弄的时候各种问题,弄好以后感觉还是挺简单的.本地测试好了,又在服务器进行测试,主要的难点就是跨网段同步,最后也解决了, ...

  10. javascript 实现java中的Map

    javascript实现java中的Map,代码是在国外的一个网站上看到的(http://stackoverflow.com/questions/368280/javascript-hashmap-e ...