iOS如何隐藏系统状态栏
2015-12-23 15:56
519 查看
这里主要说明一下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];
变化一:
不隐藏状态栏的情况下,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];
相关文章推荐
- iOS之旅--处理跳转
- Briefs 1.3.3 mac 下好用的 iOS 原型制作工具 简体中文完美汉化版 最新版
- iOS 7: 使用Base64编解码NSData和NSString对象
- Habber - IOS XMPP 客户端 教程 (终)总结与反思
- <iOS>Git简史
- 使用Jenkins搭建iOS开发的CI服务器
- ios让两个controller的navigationbar颜色不同
- 个人对mvc mvvm的理解---代码结构 IOS
- iOS中KVC与KVO的区别
- IOS ARC内存管理总结
- IOS XCode无法选择设备调试,设备显示
- iOS获取控制器里面的控件
- <iOS>自动布局
- iOS画图时 自己做的一小笔记
- IOS支付宝集成一系列问题
- Habber - IOS XMPP 客户端 教程 (四)聊天界面制作
- Xcode各版本官方下载, Mac和IOS及Xcode版本历史
- iO7以上用CIFilter生成二维码
- <iOS>ARC下需要注意的内存管理
- iOS自适应label高度和宽度