iOS-状态栏字体颜色【白色】【Xcode9.1】_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > iOS-状态栏字体颜色【白色】【Xcode9.1】

iOS-状态栏字体颜色【白色】【Xcode9.1】

 2017/12/7 21:14:37  小圭  程序员俱乐部  我要评论(0)
  • 摘要:Xcode9之前设置状态栏颜色首先在info.plist文件中,加入UIViewControllerBasedStatusBarAppearance=false;<key>UIViewControllerBasedStatusBarAppearance</key><false/>让后在delegatedidFinishLaunchingWithOptions方法中加入下面的代码就可以了
  • 标签:iOS

Xcode9之前

设置状态栏颜色首先在info.plist文件中,加入UIViewControllerBasedStatusBarAppearance = false;

    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>

让后在delegate didFinishLaunchingWithOptions 方法中加入下面的代码就可以了;

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];

 

Xcode9之后

xcode9.1我在设置状态栏字体为白色时,按照上面的方法行不通,搜罗了一圈有了结果;

同样在info.plist中,加入 UIViewControllerBasedStatusBarAppearance = true, 注意是true;

<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>

接着新建一个基于 UINavigationController 的类 BaseNavigationController,一个基于 UIViewController 类 BaseViewController ;

BaseNavigationController.m

-(UIViewController *)childViewControllerForStatusBarStyle {
    return self.topViewController;
}

-(UIViewController *)childViewControllerForStatusBarHidden {
    return self.topViewController;
}

BaseViewController.m

-(UIStatusBarStyle)preferredStatusBarStyle{
    ///这里设置白色
    return UIStatusBarStyleLightContent;
}
-(BOOL)prefersStatusBarHidden{ return NO; }

 

在项目中如果新建UINavigationController就继承BaseNavigationController,新建UIViewController就继承BaseViewController,这样就可以实现状态栏字体改变了;如果你是已经有的现有项目,可以扩展UINavigationController和UIViewController,来进行实现;

上一篇: iOS-UITableviewcell分割线位置 下一篇: 没有下一篇了!
发表评论
用户名: 匿名