Xcode导航栏背景删除图像

时间:2014-07-30 13:08:45

标签: xcode uiviewcontroller uinavigationcontroller uinavigationbar

我想改变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没有图像。我想在特定视图上设置图像。

1 个答案:

答案 0 :(得分:0)

您应该在- (void)viewWillAppear而不是- (void)viewDidLoad中设置背景图片。 原因很简单。对于任何视图(在视图的alloc-init阶段之后),- (void)viewDidLoad被调用一次且只有一次。当您再次加载第一个屏幕时,第一个屏幕将调用- (void)viewWillAppear而不是- (void)viewDidLoad。我想这就是问题所在。