NavigationController背景图片问题

时间:2012-12-04 13:10:13

标签: iphone xcode

我已经在网上查了很多解决方案,但我的NavigationController背景图片仍然存在问题。

这是我的代码:

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

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

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

4 个答案:

答案 0 :(得分:5)

试试这个......

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

答案 1 :(得分:3)

尝试设置样式,最后添加你的代码如下..

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

答案 2 :(得分:0)

在玩了一段时间之后,我意识到设置背景图像会导致导航在其上创建图像模式。如果您在条形图上添加较小的图像,图像将重复自生,或者如果您放置较大的图像,您将只看到它的顶部,这就是为什么您可以看到颜色而不是图像。

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

答案 3 :(得分:0)

我有一个稍微不同的问题,我分享给寻找光明的失落的灵魂o_O

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

感谢Paras Joshi的回答,而不是提及

[UINavigationBar appearance]

我用过......

self.navigationController.navigationBar 

,无论UIAlertView如何,我的背景图像都会再次出现。

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