以前,当我只需要 1 个导航栏图像时,我会这样做
UIImage *navBarImage = [UIImage imageNamed:@"navbarimage.png"];
[[UINavigationBar appearance]setBackgroundImage:navBarImage forBarMetrics:UIBarMetricsDefault];
在 AppDelegate 中,并且它将保留在整个应用程序中。
但是,现在我需要在从 Root View 转到 TableView 时更改导航栏图像。 我尝试把
UIImage *navBarImage = [UIImage imageNamed:@"vybeNavBarEmpty.png"];
[[UINavigationBar appearance]setBackgroundImage:navBarImage forBarMetrics:UIBarMetricsDefault];
在我的 tableview 类的 viewwillappear 中,但没有任何变化。
知道如何做到这一点吗?
最佳答案
尝试使用以下代码:
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"vybeNavBarEmpty.png"] forBarMetrics:UIBarMetricsDefault];
关于ios - 如何从不同的 View Controller 更改导航栏图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20344250/