大家都是知道IOS7中状态栏进行了修改,那就是状态栏和下面的全部是整体连在一块了,是半透明效果。但是很多的app界面设计还是以前的那种状态栏白字黑底的样式。一开始还真的不知道如何回到那样的效果中去,因为有很多的限制让自己头疼。
本人总结出来两个方法,自己在app中已经使用并行之有效。
一:大家知道状态栏20个像素,然后导航条44个像素。大家可以这样做,那就是制作一个导航条,为640*128大小,然后将图片上卖弄的40个像素设置成透明。这样看上去就是只有导航条了,透明部分要显示下面的颜色。大家可以把view或者viewcontroller.view的背景色设置成黑色,这样就是可以出现上面的效果了。
二:还有一种方法就是这样:
1.在.plist文件中设置参数:View controller-based status bar appearance 为NO
2.在appDelegate中设置这样的代码:
//对设备ios6/7进行状态栏的设置
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
[application setStatusBarStyle:UIStatusBarStyleLightContent];
// self.window.clipsToBounds = YES;
self.window.frame = CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height);
self.window.bounds = CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height);
}
这样就可以达到自己需要的效果
当然上面的代码还需要自己的颜色配置来达到要求。用第二种方法的时候在屏幕旋转的时候会出现一些问题。问题在我的上上一篇博客里面有讲诉,就是旋转的时候会有20个像素的空白等。在那个博客里面也有解决办法的讲诉