我的应用程序背景是黑色的,但在iOS 7中,状态栏变成了透明的。所以我什么也看不见,只有角落里的绿色电池指示灯。如何将状态栏文本颜色改为白色,就像在主屏幕上一样?
当前回答
如果我使用UINavigationController,我在iOS 9和Swift 2.0中做这个
self.navigationController?.navigationBar.barStyle = UIBarStyle.Black
如果我使用模态segue
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
其他回答
只需改变1)信息。plist基于控制器的状态栏外观->否 和写 2)
[[UIApplication
sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent];
in
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
实现这一功能的关键是只有全屏视图控制器才能指定状态栏的样式。
如果你正在使用一个导航控制器,并且想要在每个视图控制器的基础上控制状态栏,你会想要子类化UINavigationController并实现preferredStatusBarStyle,这样它就会返回topViewController的首选项。
确保你将故事板场景中的类引用从muinavigationcontroller更改为你的子类(例如下面例子中的MyNavigationController)。
(以下方法对我有用。如果你的应用程序是基于TabBar,你会想做类似的事情通过子类化UITabBarController,但我还没有尝试出来)。
@interface MyNavigationController : UINavigationController
@end
@implementation MyNavigationController
- (UIStatusBarStyle)preferredStatusBarStyle
{
return self.topViewController.preferredStatusBarStyle;
}
@end
这招对我很管用:
在plist中设置UIViewControllerBasedStatusBarAppearance为YES rootViewController需要方法实现 ——(UIStatusBarStyle) preferredStatusBarStyle
因为我的rootViewController是由Cocoapods (JASidePanelController)管理的,我通过一个类别添加了这个方法:
#import "JASidePanelController+StatusBarStyle.h"
@implementation JASidePanelController (StatusBarStyle)
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
@end
你可以从info.plist:
1)“基于视图控制器的状态栏外观”设置为“NO”
2)“状态栏样式”设置为“UIStatusBarStyleLightContent”
done
简单地调用
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];
在
-(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
}
我的AppDelegate的方法在iOS7中非常适合我。
推荐文章
- 如何删除默认的导航栏空间在SwiftUI导航视图
- Ios模拟器:如何关闭应用程序
- 如何在iOS中使用Swift编程segue
- Swift -整数转换为小时/分钟/秒
- 如何舍入一个双到最近的Int在迅速?
- 扁平化数组的数组在Swift
- Swift:声明一个空字典
- 在成功提交我的应用程序后,“太多符号文件”
- 从数组中随机选择一个元素
- 首先添加一个UIView,甚至是导航栏
- 我如何改变UIButton标题颜色?
- 在Swift中如何调用GCD主线程上的参数方法?
- NSLayoutConstraints是可动画的吗?
- iOS -构建失败,CocoaPods无法找到头文件
- CFNetwork SSLHandshake iOS 9失败