【问题标题】:set Status Bar Color as Black in IOS 7在 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];
帮我解决这个问题。
【问题讨论】:
标签:
ios
iphone
objective-c
ios7
statusbar
【解决方案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;
}