我的应用程序背景是黑色的,但在iOS 7中,状态栏变成了透明的。所以我什么也看不见,只有角落里的绿色电池指示灯。如何将状态栏文本颜色改为白色,就像在主屏幕上一样?
当前回答
您不需要编写任何代码就可以做到这一点! 做以下使状态栏文本颜色白色通过整个应用程序
在你的项目plist文件中:
状态栏样式:透明黑色样式(alpha值为0.5) 基于视图控制器的状态栏外观:NO 状态栏初始隐藏:NO
其他回答
如果你的应用程序需要有UIStatusBarStyleLightContent默认,但你仍然想有能力在某些屏幕上使用UIStatusBarStyleDefault,你可以选择在控制器级别上管理状态栏颜色,但在这种情况下,你必须在每个视图控制器中覆盖preferredStatusBarStyle(或在一个基本视图控制器中实现它,从它所有其他视图控制器将继承)。这里有另一种解决这个问题的方法:
在plist中设置UIViewControllerBasedStatusBarAppearance为NO 设置UIStatusBarStyle为UIStatusBarStyleLightContent
所有视图控制器的状态栏都将使用白色文本。现在只在需要带有黑色文本的状态栏的视图控制器中添加这些方法:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
}
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillAppear:animated];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}
不需要做一些额外的,只是写这段代码在你的viewController和获得状态栏颜色白色
- (UIStatusBarStyle)preferredStatusBarStyle{return UIStatusBarStyleLightContent;}
在AppDelegate。M,添加以下内容。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}
在Plist文件中,将“基于视图控制器的状态栏外观”设置为NO。
让我来完整地回答你的问题。改变状态栏文本的颜色非常简单,但是在ios7中对新手来说有点混乱。
如果你试图通过选择视图控制器并在右侧选择模拟度量来将Storyboard中的颜色从黑色改为白色,它不会工作,我不知道为什么。它应该通过这样的改变来工作,但无论如何。
其次,你不会在你的plist中找到UIViewControllerBasedStatusBarAppearance属性,但默认情况下它不在那里。你必须自己添加它,点击+按钮,然后设置为NO。
ios7状态栏的文本颜色
最后,你需要到AppDelegate。然后在didFinishLaunchingWithOptions方法中添加如下内容,添加如下一行:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
这将改变所有视图控制器的颜色为白色。希望这能有所帮助!
这适用于Golden Master iOS7和Xcode 5 GM种子和2013年9月18日发布的iOS7 SDK(至少导航控制器隐藏):
中的UIViewControllerBasedStatusBarAppearance设置为NO Info.plist。 在ViewDidLoad方法或任何地方,你想改变的地方 状态栏样式: [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
推荐文章
- 模拟器错误fbssystemservicdomain代码4
- 改变UISegmentedControl的字体大小
- 我可以强制UITableView隐藏分隔符之间的空单元格吗?
- 获取用户当前位置/坐标
- 获得推送通知,而应用程序在前台iOS
- 如何取消选定的UITableView单元格?
- 设置自定义UITableViewCells的高度
- 在SwiftUI中创建一个VStack填充屏幕宽度
- 移动文本字段时,键盘出现迅速
- 让iPhone震动
- 将NSString转换为NSDate(然后再转换回来)
- 如何在swift中逆向循环迭代?
- applicationwillenter前台vs. applicationDidBecomeActive, applicationWillResignActive vs. applicationDidEnterBackground
- 如何在扑动中格式化日期时间
- Xcode 8 / Swift 3: "Expression of type UIViewController?未使用”警告