我的申请流程:AViewController -> BViewController -> CViewController
(通过navigationController)。 AViewController
和CViewController
看起来相同,只有BViewController
看起来不同。
我是这样做的:
/// AppDelegate (should be 'super' settings)
[[UINavigationBar appearanceWhenContainedIn:[ABCNavigationController class], nil] setBackgroundImage:theImage forBarMetrics:UIBarMetricsDefault];
/// BViewController (should apply ONLY to BViewController)
[self.navigationController.navigationBar setBackgroundImage:BImage forBarMetrics:UIBarMetricsDefault];
问题在于CViewController
我看到BViewController
中加载的图片不在appDelegate
中。如何将其恢复到appDelegate设置?
我应该强调backgroundImage是我设置的众多元素之一,在这里作为示例给出。
答案 0 :(得分:0)
在CViewController
尝试将导航栏的背景图片设置为nil
中的viewWillAppear
,导致其BViewController
设置的重新设置。
[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];