1、改变高度

自定义UINavigationBar的新类别:

  1. //UINavigationBar+BackgoundImage.h
  2. #import <Foundation/Foundation.h>
  3. @interface UINavigationBar (BackgoundImage)
  4. @end

在新类别的实现中,覆盖原有类的方法 - (void)drawRect:(CGRect)rect :

  1. //UINavigationBar+BackgoundImage.m
  2. #import "UINavigationBar+BackgoundImage.h"
  3. @implementation UINavigationBar (BackgoundImage)
  4. - (void)layoutSubviews {
  5. CGRect barFrame = self.frame;
  6. barFrame.size.height = 100.0; //新的高度
  7. self.frame = barFrame;
  8. }
  9. //其实只需要覆盖该方法就行,把self.frame.size.height改成100.0就OK
  10. - (void)drawRect:(CGRect)rect {
  11. UIImage *image = [UIImage imageNamed:@"Logo.PNG"];
  12. [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
  13. }
  14. @end

至此可以发现工程中的NavigationBar的高度已经变化。

2、接下来改变背景图片,(参考http://stackoverflow.com/questions/8375092/xcode4-2-storyboard-navigation-controller-how-to-set-custom-image-for-uinavig):

在XXXAppDalegate.m中的委托方法:

  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  2. {
  3. //......
  4. return YES;
  5. }

的"return YES"前加入代码:

  1. [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"Logo.PNG"] forBarMetrics:UIBarMetricsDefault]; //this adds the image

成功。

在第1步中的高度可以直接取图片的高度,这样比较方便。

iOS开发 改变UINavigationController的UINavigationBar的高度和背景图片的更多相关文章

  1. iOS开发备忘录:自定义UINavigationBar背景图片和Back按钮

    iOS项目,根据设计图,有时需要自定义UIView的UINavigationBar的背景.可以切出来一张1像素左右的背景图片,来充当UINavigationBar的背景. 可以利用Navigation ...

  2. 使用padding代替高度实现背景图片高度按比例自适应

    本篇文章由:http://xinpure.com/use-padding-instead-of-highly-adaptive-background-image-height-proportionat ...

  3. iOS开发--改变tableHeaderView的高度

    1.先获取tableHeaderView 2.设置它的frame 3.将该view设置回tableview UIView *view=tableView. tableHeaderView; view. ...

  4. iOS开发之计算动态cell的高度并缓存

    项目中有个类似微博那样的动态cell,文字和图片的多少都不是确定的 刚开始使用autolayout,结果很多问题,最后我发现了一个框架 FDTemplateLayoutCell 写的很好,自动布局ce ...

  5. iOS开发- UILabel 自己主动换行 及 高度自适应

    主要是今天看到论坛有人问这个问题.帮忙解决之后, 顺便Mark下. 非常easy, 代码写的非常清楚. 直接上代码. UILabel *label = [[UILabel alloc] initWit ...

  6. iOS开发之解决WebView自适应内容高度

    这段时间写的项目中,有涉及到根据后端上传的表单内容,然后在移动端将内容排版重新展示的功能点,所以小小的写一下解决办法. 首先如果直接进行内容展示,或者进行sizeToFit的操作,那么可能会造成图片超 ...

  7. iOS开发:UINavigationController常用操作

    NavigationController常用操作: 更改bar的背景颜色:self.navigationController?.navigationBar.barTintColor =UIColor. ...

  8. iOS开发改变字符串中指定字符颜色,大小等等

    NSString *strJTGZ = [NSString stringWithFormat:@"交通管制%d处 ",[jtgz intValue]]; NSMutableAttr ...

  9. iOS 开发之路(WKWebView内嵌HTML5之图片上传) 五

    HTML5页面的图片上传功能在iOS端的实现. 首先,页面上用的是plupload组件,在wkwebview上存在两个坑需要修复才能正常使用. 问题:在webview上点击选择照片/相机拍摄,就会出现 ...

随机推荐

  1. 旋转图css3

    <!doctype html><html> <head>  <meta charset="UTF-8">  <title> ...

  2. Interview with Oleg

    Interview with Oleg time limit per test 1 second memory limit per test 256 megabytes input standard ...

  3. HTML之组件margin、padding

    1.  HTML之组件可以通过CSS里的width height进行大小控制 2.HTML之组件可以通过CSS里的margin.padding进行组件和组件间的间距 margin/padding:(u ...

  4. JPA 系列教程7-双向多对多

    双向多对多的ddl语句 同单向多对多表的ddl语句一致 Student package com.jege.jpa.many2many; import java.util.HashSet; import ...

  5. PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项[OK]

    经常使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的PHP开发环境虚拟主机,于是总结一下Apaceh配置http ...

  6. Singleton ——运行时全局唯一对象

    Singleton 运行时全局唯一对象 Singleton模式只解决一个问题,如何做到运行时创建一个全局唯一的对象? 1:隐藏类的实例化操作,即将构造函数声明为private或protected.任何 ...

  7. 关键自li,em,dl,ul,ol,footer,header,nav,aside,article

    section 版块 用于划分页面上的不同区域,或者划分文章里不同的节 header 页面头部或者版块(section)头部 footer 页面底部或者(section)底部 nav 导航 (包含链接 ...

  8. UVALive 4031 Integer Transmission(贪心 + DP)

    分析:求出最大值和最小值比较简单,使用贪心法,求最小值的时候我们让所有的0尽可能的向后延迟就可以了,求最大值则相反. 关键在于求出可以组合出的数字个数. 这就是组合数学版的dp了,我们让dp[i][j ...

  9. hadoop伪分布式安装

    hadoop的伪分布安装:一台实体机或虚拟机的安装. 环境:Windows7.VMWare.CentOS 1.1 设置ip地址 说明:在CentOS中的网络的类型: 仅主机模式:虚拟机在Windows ...

  10. 浅谈Android五大布局

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLay ...