3

我已经在线检查了许多解决方案,但我的 NavigationController 背景图像仍然存在问题。

这是我的代码:

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

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

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

4

4 回答 4

5

尝试这个....

UIImageView *imageView = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @"NavBar_Img.png"]];
self.navigationItem.titleView = imageView;
[imageView release];
于 2012-12-04T13:23:48.517 回答
3

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

self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header_bg"] forBarMetrics:UIBarMetricsDefault];
于 2012-12-04T13:15:01.387 回答
0

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

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

感谢 Paras Joshi 在下面的回答,而不是指

[UINavigationBar appearance]

我用了...

self.navigationController.navigationBar 

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

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

于 2014-08-26T13:19:41.883 回答
0

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

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

于 2012-12-04T16:07:14.460 回答