更改UINavigationBar外观backgroundimage时状态栏颜色已更改

zhi*_*jie 5 appearance uinavigationcontroller tintcolor ios5 ios6

我使用这行代码来改变导航栏背景:

    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"image.png"] forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

在iOS6中,它可以工作,但在iOS5中,状态栏的背景也会改变,如下图所示: 在此输入图像描述

这是怎么发生的.提前致谢.

还有一件事,我只是想改变颜色UINavigationBar,所以我使用了这段代码:

[[UINavigationBar appearance] setTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"image.png"]]];
Run Code Online (Sandbox Code Playgroud)

它在iOS6中工作得很好,但在iOS5中却没有.是什么原因?

cha*_*dan 6

您可以使用此设置状态栏

 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES];
Run Code Online (Sandbox Code Playgroud)

因此状态栏颜色为黑色,字体颜色为白色.