UINavigationController背景颜色更改隐藏iOS中的后退按钮

时间:2013-04-29 15:04:57

标签: ios cocoa-touch uinavigationcontroller

现在我正尝试使用自定义图片更改UINavigationController背景图片。

我可以使用以下代码进行更改。

[navigation.navigationBar insertSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navController.png"]]  atIndex:1];

所以我得到了照片。该图片是正确的,并显示BarButton

enter image description here

但是当我转到detailViewController时,没有BackButton。但是我可以在没有看到它的情况下轻拍。

回到MainViewController后,我的UINavigationController背景正如下图所示。

enter image description here

他们正在隐藏我的按钮。我认为atIndex:1正在解决此问题,因为索引1高于0且所有按钮索引必须为0

这就是所有按钮都消失的原因。

那我怎么解决这个问题呢?请帮忙。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

// not supported on iOS4
UINavigationBar *navBar = [purchaseNavController navigationBar];
if ([navBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)])
{
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"brnlthr_nav.jpg"] forBarMetrics:UIBarMetricsDefault];
}

答案 1 :(得分:0)

尝试使用apple提供的外观代理

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"your_image"] forBarMetrics:UIBarMetricsDefault];

将为整个应用程序设置它,或者您可以使用

[[self.navigationController.navigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"your_image"]];