注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

云水禅心

淡若秋菊何妨瘦, 清到梅花不畏寒.

 
 
 

日志

 
 

如何为UINavigationBar设置背景图片  

2011-06-09 14:15:30|  分类: iphone |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://blog.csdn.net/wave_1102/archive/2009/11/04/4768212.aspx

 

在iPhone开发中, 有时候我们想给导航条添加背景图片, 实现多样化的导航条效果, 用其他方法往往无法达到理想的效果, 经过网上搜索及多次实验, 确定如下最佳实现方案:

为UINavigatonBar增加如下Category:

view plaincopy to clipboardprint?
@implementation UINavigationBar (CustomImage)  
- (void)drawRect:(CGRect)rect {  
    UIImage *image = [UIImage imageNamed: @"NavigationBar.png"];  
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];  
}  
@end 
@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
 UIImage *image = [UIImage imageNamed: @"NavigationBar.png"];
 [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end

例如, 在我的项目中, 添加如下代码:

view plaincopy to clipboardprint?
/////////////////////////////////////////////////////////  
/* input: The image and a tag to later identify the view */ 
@implementation UINavigationBar (CustomImage)  
- (void)drawRect:(CGRect)rect {  
    UIImage *image = [UIImage imageNamed: @"title_bg.png"];  
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];  
}  
@end  
/////////////////////////////////////////////////////////  
@implementation FriendsPageViewController  
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.  
- (void)viewDidLoad {     
    self.navigationBar.tintColor = [UIColor purpleColor];  
      
    [self initWithRootViewController:[[RegPageViewController alloc] init]];  
    [super viewDidLoad];  
}  
...... 
/////////////////////////////////////////////////////////
/* input: The image and a tag to later identify the view */
@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
 UIImage *image = [UIImage imageNamed: @"title_bg.png"];
 [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
/////////////////////////////////////////////////////////
@implementation FriendsPageViewController
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad { 
 self.navigationBar.tintColor = [UIColor purpleColor];
 
 [self initWithRootViewController:[[RegPageViewController alloc] init]];
    [super viewDidLoad];
}
......

实现的效果如下图:

带有背景图片的导航条

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wave_1102/archive/2009/11/04/4768212.aspx

  评论这张
 
阅读(951)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018