已测试过可行的方法:
plist里
UIViewControllerBasedStatusBarAppearance设置为YES;
viewDidLoad里加[self setNeedsStatusBarAppearanceUpdate];
设置view的背景颜色为黑色;
追加方法
- -(UIStatusBarStyle)preferredStatusBarStyle{
- return UIStatusBarStyleLightContent;
- }
转载:http://www.w3c.com.cn/ios7状态栏保持黑底白字
iOS7设置状态栏颜色
iOS7设置状态栏是透明的了,而视图控制器View Controller又是full Screen,因此当你用TableView时可以将整个TableView覆盖在view上面,然后将view的背景设成相应的颜色,那么状态样就成了对应该的颜色。 如果是背景是黑色,状态栏墨认的文字就是黑色,所以还修改文字的颜色。
改变状态栏的文字的办法:
(1).在info.plist中添加 View controller-based status bar appearance 设为NO,
(2).self.view.backgroundColor = [UIColorblackColor];
当然你也可不用设置整个背景为黑色,你也可以仅仅在上(0, 0, 320, 20)的位置叠加一个黑色背景的View;
这样,一个视图控制器的状态栏就成了黑底白字了。
转载: http://blog.csdn.net/yuanya/article/details/16336645