我已经在网上查了很多解决方案,但我的NavigationController背景图片仍然存在问题。
这是我的代码:
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header_bg"] forBarMetrics:UIBarMetricsDefault];
问题是我的酒吧改变了它的外观(主要是颜色),但它看起来仍然不像我的形象。
有没有更好的方法来解决这个问题?
答案 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的问题。