2011-12-02 111 views
0

我正在使用此代码来更改我的UINavigationBar的背景,但它没有在iPhone中显示,但在iPhone模拟器中工作正常。更改导航栏的背景

self.navigationController.navigationBar.layer.contents = (id)[UIImage imageNamed:@"Blue Bar.png"].CGImage; 

回答

0

尝试这个

 [self.navigationController.navigationBar setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"Your Image Name"]]]; 
+0

我已经试过这个,但是这个方法不起作用在UInavigation酒吧 – IOSCODER

+0

比检查您的图片。它可能是空的或有时不支持。上面的代码是Definatly改变导航栏背景的工作。我已成功使用此代码。 – Wolverine

0

检查您的图像名称可能在写入图像的名称小写字母和大写字母可能会验证。

+0

但它在模拟器工作正常,为什么没有iphone – IOSCODER

+0

可能是你在写“蓝色Bar.png”模拟器提交错误接受,但设备不接受大写和小写的变化。 – iPhone

0

编写一个设置背景的自定义类。

@implementation MyNavigationBar 

- (void)drawRect:(CGRect)rect{ 
[[UIImage imageNamed:@"navigation.png"] drawInRect:rect];  
} 

@end 
+0

这个NavigationBar应该是UINavigationBar的子类吗? – IOSCODER

+0

是的,它是......'@interface MyNavigationBar:UINavigationBar' – nanjunda

+0

如何在self.navigationController.navigationBar上使用它? – IOSCODER