2012-12-04 289 views
3

我已经检查了许多解决方案,但我仍然有一个与我的NavigationController背景图像的问题。NavigationController背景图像问题

这是我的代码:

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header_bg"] forBarMetrics:UIBarMetricsDefault]; 

的问题是,我的酒吧改变它的外观(颜色为主),但它仍然看起来并不像我的形象。

有没有更好的方法来解决这个问题?

+0

chk我的答案http://stackoverflow.com/questions/13488710/how-to-set-a-picture-programmatically-in-a-navbar/13488781#13488781 – Rajneesh071

+0

尝试添加图像的格式相同code..that是[UIImage imageNamed:@“header_bg.png”],以便它拍摄出精确的图像。 – kumareshm174

+0

确保图像的尺寸与navigationBar的尺寸匹配,也可以使用“[self.navigationController.navigationBar setClipsToBounds:YES];”如果需要,您可以通过这种方式在图像名称中忘记“.png”。 –

回答

4

试试这个....

UIImageView *imageView = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @"NavBar_Img.png"]]; 
self.navigationItem.titleView = imageView; 
[imageView release]; 
3

尝试设置样式,最后添加如下代码波纹管..

self.navigationController.navigationBar.barStyle = UIBarStyleDefault; 
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header_bg"] forBarMetrics:UIBarMetricsDefault]; 
+0

没有工作...仍然有某种图像的渐变...任何想法如何将其删除,并使其更“平”? (喜欢我的图片) –

+0

嘿,哥们儿在屏幕上显示图片,还有你的导航栏,你可以看到这段代码。 –

0

与它的一些演出之后,而我已经意识到,设置背景图像导致导航在其上创建图像的图案。如果在栏上添加一个较小的图像,该图像会自行重复,或者如果放大一个,您只能看到它的顶部,这就是为什么您可以看到颜色而不是图像。

此外,当您更改背景图像时,搜索栏的背景颜色将设置为黑色,这会导致半透明图像出现问题。因此,尽量避免透明图像,并尝试使用相同的高度图像和酒吧,最好是44像素。

0

我有我同胞共享一个稍微不同的问题,失落的灵魂寻找光O_O

我的背景图片拒绝在导航栏上显示我发现之前的一UIAlertView中之后。我试图创建一个单独的视图控制器,并将我的UIAlertView移动到那里,但同样的事情发生了:没有背景图像!有趣的是,如果我设置的初始控制器,该控制器过去UIAlertView中控制器那么背景图像出现预期...

得益于以下帕拉斯乔希的答案,而不是指

[UINavigationBar appearance] 

我使用...

self.navigationController.navigationBar 

和我的背景图像再次出现,无论UIAlertView。

这两个参考文献有什么区别?开始认为我需要报告iOS 7存在问题。