【发布时间】:2012-11-23 05:11:30
【问题描述】:
我用这行代码来改变导航栏背景:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"image.png"] forBarMetrics:UIBarMetricsDefault];
在 iOS6 中,它可以工作,但在 iOS5 中,状态栏的背景也发生了变化,如下图所示:
这是怎么发生的。提前致谢。
还有一件事,我只是想改变UINavigationBar的颜色,所以我用了这段代码:
[[UINavigationBar appearance] setTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"image.png"]]];
它在 iOS6 中运行良好,但在 iOS5 中不行。是什么原因?
【问题讨论】:
-
您检查您的
[[UIApplication sharedApplication] statusBarStyle]是否设置为UIStatusBarStyleBlackTranslucent? -
谢谢,Eonil,你的建议很有效。但是无论如何要保持状态栏样式不变,因为即使在此应用退出后,这似乎也会改变状态栏样式?
-
谢谢,看来开发者可以随意更改状态栏了。希望这不会冒犯我们的用户。它在用户体验指南中吗?我还没有读完。
-
视情况而定。通常改变颜色或隐藏它(对于沉浸式应用程序)是可以的,但修改状态栏的内容通常是不可接受的。
标签: ios5 uinavigationcontroller ios6 appearance tintcolor