做了个软件,在android下显示正常,在iphone中最顶部的statusbar为何会覆盖在软件上方?如图:
解决办法:
第一种:
如果允许,隐藏状态栏。
在xcode中找到Resources/xxx-Info.plist文件,
添加2个属性:
第二种:
在xcode中找到Classes/MainViewController.m文件
修改- (void)viewWillAppear:(BOOL)animated方法,
注意添加一个sizeWasAdjusted变量,用于表示view是否已经调整过,否则每次从其他app返回自己的app时每次都会执行-20,导致你的app最下面产生一条白带。
解决办法:
第一种:
如果允许,隐藏状态栏。
在xcode中找到Resources/xxx-Info.plist文件,
添加2个属性:
<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
第二种:
在xcode中找到Classes/MainViewController.m文件
修改- (void)viewWillAppear:(BOOL)animated方法,
注意添加一个sizeWasAdjusted变量,用于表示view是否已经调整过,否则每次从其他app返回自己的app时每次都会执行-20,导致你的app最下面产生一条白带。
bool sizeWasAdjusted = false;
- (void)viewWillAppear:(BOOL)animated
{
// View defaults to full size. If you want to customize the view's size, or its subviews (e.g. webView),
// you can do so here.
if (!sizeWasAdjusted && [[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
CGRect viewBounds = [self.webView bounds];
viewBounds.origin.y = 20;
viewBounds.size.height = viewBounds.size.height - 20;
self.webView.frame = viewBounds;
sizeWasAdjusted = true;
}
[super viewWillAppear:animated];
}

