更改UINavigationBar背景图片而不重新启动应用程序
现在,我有
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed: @"UINavigationBarBackground.png"] forBarMetrics:UIBarMetricsDefault];
我希望它改变背景点击。 现在,它只会在您重新启动应用程序后发生变化。 有没有办法让它改变导航栏的背景图像,而不必重新启动应用程序?
我试过了
[[UINavigationBar appearance] setNeedsDisplay];
但它崩溃了:由于未捕获的exception“NSInvalidArgumentException”,原因:' – [NSMethodSignature getArgumentTypeAtIndex:]:索引(2)越界[0,1]
如果我尝试
[self.navigationController.navigationBar setNeedsDisplay];
要么
[self.view setNeedsDisplay];
什么都没发生。
UINavigationBar是苹果在iOS中提供的另一个(但稍微特别的)子类UIView,所以你应该可以在调整图像后使用类似“ setNeedsDisplay
”的东西来强制更新。