如何从不同的视图控制器更改导航栏图像
Posted
技术标签:
【中文标题】如何从不同的视图控制器更改导航栏图像【英文标题】:How to change NavBar Image from different View Controller 【发布时间】:2013-12-03 06:22:23 【问题描述】:以前我只需要 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 类的视图中,但没有任何变化。
知道怎么做吗?
【问题讨论】:
从 rootview 转到 tableview 时检查该代码是否正在执行 @Tendulkar 代码正在执行中 尝试使用 self.navigationcontroller.navigationbar 而不是 UINavigationBar 【参考方案1】:试试下面的代码:
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"vybeNavBarEmpty.png"] forBarMetrics:UIBarMetricsDefault];
【讨论】:
【参考方案2】:试试这个:
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"newImage.png"]];
【讨论】:
以上是关于如何从不同的视图控制器更改导航栏图像的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iPhone 的 Three20 Thumbs 视图控制器中更改导航栏样式?