我的应用程序背景是黑色的,但在iOS 7中,状态栏变成了透明的。所以我什么也看不见,只有角落里的绿色电池指示灯。如何将状态栏文本颜色改为白色,就像在主屏幕上一样?
当前回答
在Swift 5的例子中,我添加了这些行:
override func viewDidAppear(_ animated: Bool) {
navigationController?.navigationBar.barStyle = .black
}
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
其他回答
Swift 3 - Xcode 8。
如果你想让状态栏最初隐藏在启动屏幕上,那么试试这个,
步骤1:将以下内容添加到info.plist。
查看基于控制器的状态栏外观值NO 状态栏初始隐藏值为YES
第二步:在didFinishLaunchingWithOptions方法中写入。
UIApplication.shared.isStatusBarHidden = false
UIApplication.shared.statusBarStyle = UIStatusBarStyle.lightContent
对于Xcode 5.1:
在.plist的NO中添加“基于视图控制器的状态栏外观”。
在AppDelegate中添加:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
这是所有!
iOS 7允许单独的视图控制器来决定状态栏的外观,如苹果开发者文档所述:
ios7允许视图控制器在应用程序运行时调整状态栏的样式。动态改变状态栏样式的一个好方法是实现preferredStatusBarStyle并在一个动画块内更新状态栏外观并调用setNeedsStatusBarAppearanceUpdate。
全局设置状态栏外观是一个两步过程。
首先,你需要告诉iOS你不想按视图来设置状态栏外观。
然后你需要负责并实际设置新的全局状态栏样式。
要禁用逐视图状态栏控件,您需要在Info.plist中设置基于视图控制器的状态栏外观属性。
打开项目导航器,选择iOS应用程序的项目,然后选择信息选项卡。
将鼠标悬停在一行上,然后单击出现的加号,将新属性添加到.plist。
在Key字段中输入基于视图控制器的状态栏外观,然后确保Type字段设置为Boolean。最后,在Value字段中输入NO。
要为状态栏设置全局样式,在Info选项卡下添加另一个属性,键为状态栏样式,类型为字符串,值为不透明黑色样式。
下面是一篇博客文章,其中有更多的细节和一些示例代码:
http://codebleep.com/setting-the-status-bar-text-color-in-ios-7/
你可以在iOS 6和7中使用这个:
#ifdef __IPHONE_7_0
# define STATUS_STYLE UIStatusBarStyleLightContent
#else
# define STATUS_STYLE UIStatusBarStyleBlackTranslucent
#endif
[[UIApplication sharedApplication] setStatusBarStyle:STATUS_STYLE animated:YES];
在ios7上,如果你想使用UIViewControllerBasedStatusBarAppearance == YES,并且你的根视图控制器是UINavigationController,你应该这样做 子类化它并重载childViewControllerForStatusBarStyle,例如:
- (UIViewController*) childViewControllerForStatusBarStyle
{
return self.viewControllers.lastObject;
}
在这之后,preferredStatusBarStyle将在被推送的视图控制器上被调用。
推荐文章
- 我应该如何从字符串中删除所有的前导空格?- - - - - -斯威夫特
- 如何使用Xcode创建。ipa文件?
- 动态改变UILabel的字体大小
- 在iPhone上确定用户是否启用了推送通知
- 是否有可能禁用浮动头在UITableView与UITableViewStylePlain?
- Swift:理解// MARK
- 错误ITMS-9000:“冗余二进制文件上传。火车1.0版本已经有一个二进制版本上传。
- Swift -转换为绝对值
- Swift编译器错误:“框架模块内的非模块化头”
- 从父iOS访问容器视图控制器
- 自定义dealloc和ARC (Objective-C)
- 调整UITableView的大小以适应内容
- 在代码中为UIButton设置一个图像
- NSRange从Swift Range?
- 我可以使用范围操作符与if语句在Swift?