如何更改状态栏的背景颜色而不是导航栏的背景颜色?
How to change background color of status bar but not that of navigation bar?
根目录:
PushVc:
如何实现这个效果?
如何改变状态栏的背景颜色而不改变导航栏的背景颜色?
将此方法添加到您的每个 viewcontroller,或(从类别方法中调用)
-(void)status_bar_color
{
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
{
UIView *addStatusBar = [[UIView alloc] init];
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height >750)
{
addStatusBar.frame = CGRectMake(0, 0, 800, 23);
}
else if(result.height >550)//IPod
{
addStatusBar.frame = CGRectMake(0, 0, 320, 23);
}
else
{
addStatusBar.frame = CGRectMake(0, 0, 320, 23);
}
addStatusBar.backgroundColor=[UIColor blackColor];
[self.view addSubview:addStatusBar];
}
}
statusbar的轻内容,也用这个方法,
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
酷..
设置 View controller-based status bar appearance
为 NO
。在您的项目中 info.plist.and 从项目设置您可以根据您的要求更改状态栏 bG 颜色
我有一个建议,请更改 windows BG 颜色并设置状态栏 UIStatusBarStyleBlackTranslucent
在 appdelegate.m 中添加以下代码:
self.window.backgroundColor = [UIColor <yourColor>];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
这是我用来更改状态栏颜色或背景的代码。
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
{
UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0,[UIScreen mainScreen].bounds.size.width, 20)];
view.backgroundColor=[UIColor YourColorName];
If you wanted to add image you can use the line given below.
/*
view.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"loginbackground.png"]];
[self.view addSubview:view];
*/
}
如果我不工作,试试这个,请告诉我。
根目录:
PushVc:
如何实现这个效果?
如何改变状态栏的背景颜色而不改变导航栏的背景颜色?
将此方法添加到您的每个 viewcontroller,或(从类别方法中调用)
-(void)status_bar_color
{
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
{
UIView *addStatusBar = [[UIView alloc] init];
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height >750)
{
addStatusBar.frame = CGRectMake(0, 0, 800, 23);
}
else if(result.height >550)//IPod
{
addStatusBar.frame = CGRectMake(0, 0, 320, 23);
}
else
{
addStatusBar.frame = CGRectMake(0, 0, 320, 23);
}
addStatusBar.backgroundColor=[UIColor blackColor];
[self.view addSubview:addStatusBar];
}
}
statusbar的轻内容,也用这个方法,
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
酷..
设置 View controller-based status bar appearance
为 NO
。在您的项目中 info.plist.and 从项目设置您可以根据您的要求更改状态栏 bG 颜色
我有一个建议,请更改 windows BG 颜色并设置状态栏 UIStatusBarStyleBlackTranslucent
在 appdelegate.m 中添加以下代码:
self.window.backgroundColor = [UIColor <yourColor>];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
这是我用来更改状态栏颜色或背景的代码。
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
{
UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0,[UIScreen mainScreen].bounds.size.width, 20)];
view.backgroundColor=[UIColor YourColorName];
If you wanted to add image you can use the line given below.
/*
view.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"loginbackground.png"]];
[self.view addSubview:view];
*/
}
如果我不工作,试试这个,请告诉我。