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

下面我就记录下系统导航和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. MySQL查看和修改wait_timeout

    1.全局查看wait_timeout值 mysql> show global variables like 'wait_timeout'; 2.修改全局wait_timeout值 set glo ...

  2. C#中byte类型转换为double类型

    // Initialize unmanged memory to hold the array. int size = Marshal.SizeOf(bytes[0]) * bytes.Length; ...

  3. unity, 两个动画同时播

    法一,animationLayer. 处于不同animationLayer中的状态可以同时运行,即其中的动画可以同时播放. 所以通常一个角色至少需要用两个animationLayer,一个layer用 ...

  4. [原]C#设置文件夹用户权限

    var security = new DirectorySecurity();   string path=@"C:\temp" //设置权限的应用为文件夹本身.子文件夹及文件,所 ...

  5. 关于TimeSpan

    一秒是1000万个tick TimeSpan ts = * ); Console.WriteLine(ts); Console.Read(); //print 00:00:01 并且在TimeSpan ...

  6. SPD

    一般是在内存条上的.1.SPD是SERIAL PRESENCE DETECT的缩写,中文意思是模组存在的串行检测.也即是通过上面讲的IIC串行接口的EEPROM对内存插槽中的模组存在的信息检查.这样的 ...

  7. angular多个控制器如何共享数据

    多个控制器之间共享数据,通常两种方式,一种是在控制器里通过$scope.$$prevSibling或$scope.$$nextSibling获得另一个控制器的作用域对象. 第二种是通过服务的方式,也是 ...

  8. python-wechatAutoReword

    python-微信自动回复功能,基于itchat 2017.9.6 实现群@自动回复 #! /usr/bin/env python3.5.2 # coding="utf-8" im ...

  9. java中Keytool的使用总结 (加密 密钥(key)和证书(certificates))

    http://blog.chinaunix.net/uid-17102734-id-2830223.html

  10. MUTT+MSMTP利用163服务器发送邮件

    监控系统发送告警邮件,我们自己搭建邮件服务器,成本较高,所以可以使用163等第三方MTA帮助我们发送.MUTT+MSMTP是一个很好的选择,具体实现如下: tar -xvf msmtp-1.6.5.t ...