参考:http://www.vinqon.com/codeblog/?detail/11109
在iOS7中,状态栏是完全透明的,而其他bar,即navigation bars, tab bars, toolbars,
search bars和scope bars都是半透明的。开发者需要保证页面内容能覆盖到这些bar的后面。
事实上,iOS7中的状态栏不仅变完全透明了,而且完全不占空间。
有码有真相 ——
新建一个UIViewController,再viewDidLoad里面输入以下代码,作为rootViewController启动应用:
05 |
self .view.backgroundColor
= [ UIColor whiteColor]; |
07 |
UILabel
*label = [[[ UILabel
alloc]initWithFrame:CGRectMake(0, 0, 200,
20)]autorelease]; |
08 |
label.text
= @ "I am a label" ; |
09 |
[ self .view
addSubview:label]; |
应用效果:
可以看到的是label和status bar悲催地重叠了。
我们再套一个UINavigationController,可以看到更悲催的事情:
label活生生地被navigationBar盖住了。
- 若我们使用自定义图片作为导航栏的背景,那么UIViewController的view(下面称为视图)就不会延伸到navigationBar的顶部,而是从它的底部开始——正如往常一样。
- 若我们使用一张高44像素(retina/88像素)的图片作为导航栏背景,那么状态栏就会保持黑色,图片只会在导航栏区域平铺