iOS-设置状态栏白色以及覆盖状态栏
iOS-设置状态栏白色以及覆盖状态栏
将状态栏设置为白色
首先, 在info.plist中添加一个标记.
View controller–based status bar appearance键值设置为NO。这个标记的意思是, 以application中设置状态栏为高优先级. 在viewController中设置状态栏 为低优先级. 设置了这个标记, 下面的方法才是有效的.
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];  通过上面的代码将状态栏设置为白色.
覆盖状态栏
如何覆盖状态栏, 需要定义一个window, 将window的UIWindowLevel属性设置为UIWindowLevelStatusBar或者更改. 之后将window添加到屏幕上,完成覆盖.
typedef CGFloat UIWindowLevel;
const UIWindowLevel UIWindowLevelNormal; // 0.0
const UIWindowLevel UIWindowLevelAlert; // 2000.0
const UIWindowLevel UIWindowLevelStatusBar; // 1000.0  
StatusBar的层级是1000 所以只需要将UIWindow层级设置为
UIWindowLevelAlert或者UIWindowLevelStatusBar即可
然后接下来在改变层级的UIWindow中放置View便可以遮挡状态栏的位置了实现代码为:
//声明代码
@property (strong, nonatomic) UIWindow *windowBack;//背景视图
//实现
self.windowBack = [[UIWindow alloc]initWithFrame:SCREEN_BOUNDS];
self.windowBack.backgroundColor = [UIColor clearColor];
self.windowBack.rootViewController = [[UIViewController alloc]init];
self.windowBack.rootViewController.view.backgroundColor = [UIColor clearColor];
self.windowBack.windowLevel = UIWindowLevelAlert;
[self.windowBack makeKeyAndVisible];iOS-设置状态栏白色以及覆盖状态栏的更多相关文章
- iOS设置状态栏样式
		iOS设置状态栏样式可以使用两种方式. 方式一: 直接在需要改变默认状态栏样式的控制器中实现一个方法(其他任何事情都不用做): // 返回状态栏的样式 - (UIStatusBarStyle)pref ... 
- 取消设置透明状态栏,使 ContentView 内容不再覆盖状态栏
		取消设置透明状态栏,使 ContentView 内容不再覆盖状态栏,在MainActivity中添加以下代码: getWindow().clearFlags(WindowManager.LayoutP ... 
- iOS 更改状态栏颜色和隐藏状态栏
		更改状态栏颜色 iOS7以后 状态栏的字体为黑色:UIStatusBarStyleDefault 状态栏的字体为白色:UIStatusBarStyleLightContent 解决方案 1.在info ... 
- Android  自定义AlertDialog的写法和弹出软键盘和覆盖状态栏
		private void showMyDialog(int layoutId){ AlertDialog myDialog = new AlertDialog.Builder(context).cre ... 
- iOS设置导航栏样式(UINavigationController)
		//设置导航栏baritem和返回baiitem样式 UIBarButtonItem *barItem = [UIBarButtonItem appearance]; //去掉返回按钮上的字 [bar ... 
- iOS设置app应用程序文件共享
		1.iOSapp应用程序文件共享 当我们用itnues连接到设备时,在应用程序栏目下面,文件共享下,点击 对应的程序,即可以在程序右边栏目里面看到应用程序共享的数据, 此时,我们可以通过右下角的 添加 ... 
- IOS 设置定时器
		IOS 设置定时器 自动滚动视图 定时发送坐标信息 即时显示 时钟 NSTimer *timer; - (void)start {//1second 调用一次 timer = [NSTimer sc ... 
- iOS 设置代理过程
		iOS设置代理的过程 (以模拟 button 作用为例) 1.写协议 新建一个名为 MyButton 的文件,继承于 UIView,在该文件里 声明协议 myDelegate 2.写协议方法 为声明的 ... 
- iOS设置拍照retake和use按钮为中文简体
		iOS设置拍照retake和use按钮为中文简体,设置有两种方式一个是代码直接控制,第二就是xcode配置本机国际化为“china”(简体中文). 本文重点要说的是第二种,这样配置有两个好处,一是操作 ... 
随机推荐
- JSP三大指令 /9大内置对象 /Javabean /  EL
			一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:<%@page language="java" info="xxx". ... 
- select 模型
			http://www.cnblogs.com/Anker/p/3258674.html http://www.cnblogs.com/cozy/articles/2088128.html http:/ ... 
- Servlet处理Cookie
			1.CGI:进程,servlet:线程 2.HttpServletResponse下的方法就没有get开头的,(PrintWriter)getWriter在ServletResponse下. 3.st ... 
- PHP 7 探针的安装与测试
			首先,这是一篇软文,没错!就是一篇软文.因为我知道「PHP 是世界上最好的语言」,所以我相信很多人愿意读这篇用户帮忙写的软文,因为这篇软文应该能帮助 PHP 开发的同学一点小忙.我们是一家成立了7年的 ... 
- 如何在sourcetree 下提交代码到gerrit上
			gerrit的审核机制决定了提交到远程到代码并非远程master分支,而是/refs/for/master 分支,所以需要解决怎么在sourcetree下提交代码到/refs/for/master分支 ... 
- java学习面向对象之父子构造函数初始化
			在之前讲到java面向对象继承的时候,我们只讲到了两个比较重要的知识点,一个是父子类当中有同名的成员变量,这个时候,我们引入了super这个关键字来区分这两个同名成员变量,除此之外,我们还讲到了父子同 ... 
- WordPress Download Monitor插件跨站脚本漏洞
			漏洞名称: WordPress Download Monitor插件跨站脚本漏洞 CNNVD编号: CNNVD-201308-139 发布时间: 2013-08-14 更新时间: 2013-08-14 ... 
- delphi调用webservice 转
			如今 Web Service 已越来越火了,在DotNet已开发的Web Service中,Delphi 7如何方便的调用DotNet写的Web Service呢?方法有两种,一种是在Delphi ... 
- unity3d Human skin real time rendering with blood and  water drop effect真实模拟人皮实时渲染之血液和水珠掉落效果
			在之前的一篇(链接在此)文章中写了下关于真实模拟皮肤渲染,在此基础之上又想加上血液效果,在洗澡的时候(= =:)又想在skin上加上水珠的效果,所以研究了下,做出来效果感觉还不错,放下效果图: 水珠 ... 
- 【转】Log4cpp 封装
			[转自]http://blog.csdn.net/ylioi/article/details/9049591 这篇文章对Log4cpp使用了宏定义和类进行封装,非常有借鉴意义. log4cpp 是参考 ... 
