这里主要说明一下iOS7系统给状态栏的适配及隐藏带来的改变。
变化一:
不隐藏状态栏的情况下,StatusBar会直接显示在当前页面上,当前页面的会延伸到
StatusBar下方,顶到最上头。
这种显示方式在iOS7上是无法改变的,也无法通过设置或者配置类达到iOS6的状态栏效果。
所以在iOS7上进行页面布局的时候要考虑到这个情况,控件从当前view的顶端20像素开始,但是我们的程序往往需要适配之前的iOS6系统,固是否什么时候下移20像素需要根据当前的系统版本来判断。
变化二:状态栏的隐藏方法
如果是iOS6,状态栏的隐藏方法如下:
但是在iOS7下,仅仅通过这个方法是不行的,还必须同时设置下面这个参数,
方法一
iOS7后要在info.plist设置View controller-based status bar appearance = no;
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleDefault;
//UIStatusBarStyleDefault = 0 黑色文字,浅色背景时使用
//UIStatusBarStyleLightContent = 1 白色文字,深色背景时使用
}
- (BOOL)prefersStatusBarHidden
{
return YES; // 返回NO表示要显示,返回YES将hiden
}
方法二 iOS7后要在info.plist设置View controller-based status bar appearance = no;
[[UIApplication sharedApplication] setStatusBarHidden:YES];