当某个控制器被推送时,我正在更改导航栏的背景图像。我想要动画效果。我可以使用以下代码实现:
[UIView transitionWithView:self.navigationController.navigationBar
duration:0.3f
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"now-playing-nav-bar.png"]
forBarMetrics:UIBarMetricsDefault];
} completion:NULL];
然而,这会阻止应用于navigationBarTitle和UIBarButtonItem的默认推送动画。我该如何使背景更改和推送动画一起工作?我希望尽可能使用原始解决方案。附注:我不能使用tintColor,因为背景是纹理的。
viewWillAppear:
中设置backgroundImage会发生什么? - Benjamin Mayo