状态栏的隐藏

info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于application的设置。为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,是根本不会被调用的。

#一、如果View controller-based status bar appearance 设为YES。

这时 view controller中对status bar的设置优先级高于application的设置,用下面的方式隐藏status bar:

1、在view controller中调用setNeedsStatusBarAppearanceUpdate,更新status bar的显示。

- (void)viewDidAppear:(BOOL)animated

{

[super viewDidAppear:animated];

if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {

[self prefersStatusBarHidden];

[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];

}

}

2、覆盖view controller的prefersStatusBarHidden的实现,返会YES。

- (BOOL)prefersStatusBarHidden

{

return YES;

}

二、如果View controller-based status bar appearance 设为NO,这时application的设置优先级最高,用下面的方式隐藏status bar:

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];

综合上面的结论,如果iOS6和iOS7都支持,则处理方式如下:

一、如果View controller-based status bar appearance 设为NO。

则在iOS6和iOS7都是用下面的方法隐藏status bar。

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];

二、如果View controller-based status bar appearance 设为YES。

则需要判断当前是iOS6还是iOS7。如果是iOS6,则还通过sharedApplication隐藏。

如果是iOS7,则用setNeedsStatusBarAppearanceUpdate加prefersStatusBarHidden的方式来隐藏 status bar。

取info.plist中 View controller-based status bar appearance中的设置:

NSNumber *isVCBasedStatusBarAppearanceNum = [[NSBundle mainBundle]objectForInfoDictionaryKey:@"UIViewControllerBasedStatusBarAppearance"];

if (isVCBasedStatusBarAppearanceNum)

{

_isVCBasedStatusBarAppearance = isVCBasedStatusBarAppearanceNum.boolValue;

}  else {

_isVCBasedStatusBarAppearance = YES; // default

}

推荐阅读更多精彩内容

  • 新建工程,状态栏默认竖屏显示,横屏隐藏,字体黑色。 未修改Info.plist情况下,状态栏默认由控制器管理,在对...
    Sparkle_S阅读 6,620评论 0 6
  • info.plist文件中,View controller-based status bar appearance...
    冰点雨阅读 1,370评论 0 0
  • 一、启动时隐藏状态了 iOS显示启动页时隐藏状态栏 在iOS7之后,默认情况下 状态栏是交给控制器管理的 如果想让...
    独孤流阅读 75评论 0 0
  • 状态栏: 导论: ios上状态栏:显示信号 、时间、电池状态的20像素的位置 状态栏分为前景和背景部分前景部分:就...
    Kasign阅读 3,238评论 0 0
  • Two Sum问题:给定一个数组nums和一个正整数target,试从数组中找出2个元素,它们相加之和恰好为tar...
    沙札罕阅读 428评论 2 1
  • 半年前开始混迹简书,工作空隙看群里大家胡吹一长串,也算给大脑减减压了,最重要的是有那么一群人一样追寻技术,追寻生活...
    卡巴拉的树阅读 991评论 18 12
  • 大家好,今天是2017年9月20日 是阿昌每天一篇原创文章的 第48篇 每次到深圳就跟打鸡血一样,走路也有劲了,工...
    陪伴家阿昌阅读 169评论 0 0
  • 这篇文章是本周第一篇文章,很高兴认识大家,首先自我介绍一下,我叫余琛,来自福建。 知道007是从笑来老师的专栏开始...
    余白日志阅读 66评论 0 0