iphone自定义UINavigationBar背景的问题

 

 


在IOS4中,可以通过自定义UINavigationBar的drawRect方法,而且这种方式还不错,只要引入这个文件,就生效。

 


代码如下:
@implementation UINavigationBar(UINavigationBarCategory)

#pragma mark -
#pragma mark 重载navigationBar的背景图片
-(void)drawRect:(CGRect)rect{
	
    NSLog(@"drawRect");
	UIImage *image = [UIImage imageNamed:@"nav_bg.png"];
	[image drawInRect:CGRectMake(0,0,self.frame.size.width,self.frame.size.height)];
}

@end
 

但是呢,到了ISO5 这种方法就不再支持了,不过呢,给了一个一个方法 setBackgroundImage:forBarMetrics:


if([vc.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) {

//iOS 5 new UINavigationBar custom background

[vc.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"NavigationBarBg.png"] forBarMetrics: UIBarMetricsDefault];


 

你可能感兴趣的:(NavigationBar)