上面那种方法不行的话,就用下面这种吧下面这种方法,写在程序启动的部分。
如果某一个界面上出现了UITableView和UIScrollView,则需要在ViewDidLoad中加入下面这句话
if ([WebService ISIOS7]) //判断系统是不是为ios7系统,当然了,你也可以用其他的方式去判断
{
self.automaticallyAdjustsScrollViewInsets = NO;
}
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-20);
self.window.bounds = CGRectMake(0, 20, self.window.frame.size.width, self.window.frame.size.height);
}
这种方法的原理是使window的frame的height-20,另外需要是bounds的y从20开始,并且使bounds的height和window的frame的height保持一致,达到这一点就能完美的适应ios了
plist文件中配置:
就是将“View controller-based status bar appearance ”设为no
有了上面三部,适配ios7就大功告成。