0
我的应用程序中的一个场景应该有透明的导航栏,其他 - 不是。切换导航栏背景图像/颜色
所以,当进入场景时,我试图获取当前导航栏的属性并在退出时恢复它们。
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
navigationBarBackgroundImage = [self.navigationController.navigationBar backgroundImageForBarMetrics:UIBarMetricsDefault];
navigationBarShadowImage = self.navigationController.navigationBar.shadowImage;
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.navigationController.navigationBar setBackgroundImage:navigationBarBackgroundImage forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = navigationBarShadowImage;
self.navigationController.navigationBar.translucent = NO;
}
突然,它停止工作......现在,我得到NULL的背景和阴影图像。
那么,我该如何达到预期的效果呢?