发布更改导航栏图像?

时间:2013-08-08 15:08:02

标签: ios objective-c uinavigationcontroller uinavigationbar

目前,我可以通过

更改UINavigationBar的色调
self.navigationController.navigationBar.tintColor  = [UIColor colorWithRed:74/255.0f green:74/255.0f blue:74/255.0f alpha:1.0f];

但是,当我尝试实现以下代码来同时更改UINavigationBar的图像时,我看不到任何结果..

 UIImage *navImageBackground = [[UIImage imageNamed:@"texturedNav"] //This being my .png image
                                resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];



    [[UINavigationBar appearance] setBackgroundImage:navImageBackground
                                       forBarMetrics:UIBarMetricsDefault];

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

您可能在导航栏已经在屏幕上后调用外观委托,因此您的请求被“忽略”。或者,至少,不会导致UI更新。

在显示导航栏之前设置外观。或者,通过隐藏和显示导航栏(无动画)强制UI刷新。