如何从不同的View Controller更改NavBar Image

时间:2013-12-03 06:22:24

标签: ios objective-c uiviewcontroller uinavigationbar

以前当我只需要1个导航栏图像时,我会做

UIImage *navBarImage = [UIImage imageNamed:@"navbarimage.png"];
[[UINavigationBar appearance]setBackgroundImage:navBarImage forBarMetrics:UIBarMetricsDefault];
在AppDelegate中

,这将留在整个应用程序中。

但是,现在我需要在从rootview转到tableview时更改导航栏图像。 我试过把

    UIImage *navBarImage = [UIImage imageNamed:@"vybeNavBarEmpty.png"];
[[UINavigationBar appearance]setBackgroundImage:navBarImage forBarMetrics:UIBarMetricsDefault];

在我的tableview类的viewwillappear中,但没有任何变化。

知道怎么做吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

 [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"newImage.png"]];

答案 1 :(得分:1)

尝试使用以下代码:

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