第一:在appdeletage裏面 添加如下代碼:
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
self.window.frame = CGRectMake(0.0f,20.0f,self.window.frame.size.width,self.window.frame.size.height-20.0f);
}
2.在info.plist文件裏面 屬性:View controller-based status bar appearance 值設爲NO。
下面看效果:
在看下圖,你會發現一個問題:
這是什麼原因導致的呢?我發現,由於window你又548變成了528吧,但是你發現tableview的高度還是548,導致了有20個像素不能顯示。那有的同學會說,直接改成528不就得了麼,是的,可以改,改後你發現IOS7上確實沒有了缺像素的問題,但是在IOS6有直接缺半截,看下圖:
所以呢,由我親自測試,這種方法想要適配IOS7和IOS6有點不太靠譜。
最後解釋一下幾個名詞設置的作用:
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
- (BOOL)prefersStatusBarHidden
{
return NO;
}
在plist中設置View controller-based status bar appearance 值設爲YES..