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

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

1,添加rightbarbuttonitem的方法

  1. UIImage* img=[UIImage imageNamed:@"logoff.png"];
  2.  
  3. UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
  4.  
  5. btn.frame =CGRectMake(, , , );
  6.  
  7. [btn setBackgroundImage:img forState:UIControlStateNormal];
  8.  
  9. [btn addTarget: self action: @selector(exitAction) forControlEvents: UIControlEventTouchUpInside];
  10.  
  11. UIBarButtonItem* item=[[UIBarButtonItemalloc]initWithCustomView:btn];
  12.  
  13. self.navigationItem.rightBarButtonItem=item;

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

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

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

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

  1. UIButton*rightButton = [[UIButton alloc]initWithFrame:CGRectMake(,,,)];
  2.  
  3. [rightButton setImage:[UIImage imageNamed:@"MoreImage"] forState:UIControlStateNormal];
  4.  
  5. [rightButton addTarget:self action:@selector(moreItemPress) forControlEvents:UIControlEventTouchUpInside];
  6.  
  7. UIBarButtonItem*rightItem = [[UIBarButtonItem alloc]initWithCustomView:rightButton];
  8.  
  9. self.navigationItem.rightBarButtonItem= rightItem;

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

  1. //改变系统导航title的字体颜色
  2. self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
  3.  
  4. //改变系统导航title的字体大小和自定义字体
  5. [self.navigationController.navigationBar setTitleTextAttributes:
  6. @{NSFontAttributeName:MainFont(),NSForegroundColorAttributeName:[UIColor whiteColor]}];
  1. //改变系统导航的背景颜色
    self.navigationController.navigationBar.barTintColor = [UIColor greenColor];
    或者
    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
  2. //为barbuttonitem的返回字体添加字体颜色
  3. self.navigationController.navigationBar.tintColor = MainColor;
  4. //为barbuttonitem添加自定义图片
  5. [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. STS(Spring Tool Suite)使用maven添加jar包

    打开:http://mvnrepository.com/ 搜索:hibernate 或者:http://search.maven.org 搜索:hibernate-core 两种方式都可以添加jar包 ...

  2. idea 编辑时cup飙升解决方案,亲测有效

    idea(64).exe.vmoptions内容如下: -Xms1024m -Xmx2048m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=256m ...

  3. 自增长主键Id的设计

    http://www.cnblogs.com/lhking/p/3945865.html

  4. Linux系统里如何彻底的清空终端屏幕?

    Linux用户,特别是Ubuntu或CentOS用户,基本上都习惯使用clear命令或Ctrl+L组合快捷键来清空终端屏幕.但是,这样做其实并不是真正的清空屏幕,它只是给人一种错觉,让人以为屏幕清空了 ...

  5. python 日志的配置,python对日志封装成类,日志的调用

    # python 日志的配置,python对日志封装成类,日志的调用 import logging # 使用logging模块: class CLog: # --------------------- ...

  6. Redis 实现接口访问频率限制

    为什么限制访问频率 做服务接口时通常需要用到请求频率限制 Rate limiting,例如限制一个用户1分钟内最多可以范围100次 主要用来保证服务性能和保护数据安全 因为如果不进行限制,服务调用者可 ...

  7. Nginx an upstream response is buffered to a temporary file,nginx502错误

    1.错误日志:warn:an upstream response is buffered to a temporary file 解决办法:增加fastcgi_buffers 8 4K;     fa ...

  8. HttpOperater

    using System; using System.IO; using System.Linq; using System.Net; using System.Text; using System. ...

  9. 检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等

    <script type="text/javascript"> //判断访问终端 var browser={ versions:function(){ var u = ...

  10. C++之在类内部访问对象的私有成员

    一.引言 今天看项目里的一段代码发现,竟然可以再类的成员函数中访问该类的对象的私有成员.感觉不可思议. 自己写的实例代码: #include <iostream> using namesp ...