我想改变NAV Bar的背景,我用
- (void)viewDidLoad {
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"my image.jpg"] forBarMetrics:UIBarMetricsDefault];
当我进入下一个视图时,我想删除图像。我用了
- (void)viewWillDisappear:(BOOL)animated {
[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
}
但是当我回到第一个屏幕时出现问题。 NAV Bar没有图像。我想在特定视图上设置图像。
答案 0 :(得分:0)
您应该在- (void)viewWillAppear
而不是- (void)viewDidLoad
中设置背景图片。
原因很简单。对于任何视图(在视图的alloc-init阶段之后),- (void)viewDidLoad
被调用一次且只有一次。当您再次加载第一个屏幕时,第一个屏幕将调用- (void)viewWillAppear
而不是- (void)viewDidLoad
。我想这就是问题所在。