在 IOS 7 中将状态栏颜色设置为黑色
Posted
技术标签:
【中文标题】在 IOS 7 中将状态栏颜色设置为黑色【英文标题】:set Status Bar Color as Black in IOS 7 【发布时间】:2014-08-31 12:54:30 【问题描述】:在我的应用中,我设置了导航栏的图像。
但我想将状态栏设置为默认黑色,就像 ios6 一样。
我的代码如下:
NSString *ver = [[UIDevice currentDevice] systemVersion];
int ver_int = [ver intValue];
NSString* toReturn=@"";
toReturn = @"logo_bar.png";
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:toReturn] forBarMetrics:UIBarMetricsDefault];
帮我解决这个问题。
【问题讨论】:
How to change Status Bar text color in iOS 7. 的可能重复项 【参考方案1】:查看是否加载检查操作系统版本是否为 7 或更高版本。 然后在视图控制器的顶部添加背景颜色为黑色且高度为黑色的 uiview。
【讨论】:
【参考方案2】:只需添加以下代码:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];
【讨论】:
【参考方案3】:如果您的图片尺寸为 320x64,请尝试使用尺寸为 320x44 的图片。我希望这会有所帮助。
【讨论】:
【参考方案4】:在里面做
- (void)viewDidLoad
[super viewDidLoad];
[self.navigationController.navigationBar
setBackgroundImage:[UIImage imageNamed:@"logo_bar.png"]
forBarMetrics:UIBarMetricsDefault];
//...
或尝试将其设置为 AppDelegate#didFinishLaunchingWithOptions 方法中的所有导航栏
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"logo_bar.png"]forBarMetrics:UIBarMetricsDefault];
确保您遵守Creating Resizable Images 的规则
【讨论】:
【参考方案5】:首先,将 info.plist 中的基于控制器的状态栏外观更改为 YES。 然后使用
-(UIStatusBarStyle)preferredStatusBarStyle
return UIStatusBarStyleDefault;
【讨论】:
以上是关于在 IOS 7 中将状态栏颜色设置为黑色的主要内容,如果未能解决你的问题,请参考以下文章
iOS 7:如何在一个视图控制器中将状态栏文本颜色更改为白色,在第二个视图控制器中更改为黑色?