關於iOS7的適配這個問題自iOS7發布以來就一直是眾多iOS開發者熱議的話題,網上的對於這個問題也是眾說紛纭。有的說這是Xcode5 iOS7SDK的bug,但是蘋果堅決不承認這是bug,而且規定新發布的應用必須針對iOS7進行適配,否則堅決不讓上線。。。mark。。。好苦逼啊。。。
網上關於iOS7屏幕適配的問題的文章比比皆是,第一次做iOS7的適配的時候我也是多走了很多彎路,遇到了很多奇葩的問題。比如說你可能已經做好了適配,但是調用拍照功能彈出IMageViewController的時候就會出現奇葩問題。
那麼關於iOS7的適配問題有兩種解決方案:
1.完全隱藏狀態欄。但是這樣做的代價是,你的應用如果用導航條的話,你必須考慮到這一點。
2.顯示出狀態欄。
我主要說說第二種解決方案:
在AppDelegate中加入如下的代碼:
if([[[UIDevicecurrentDevice]systemVersion] floatValue]>6.1){
//根據屏幕大小設置window的frame。
if(ScreenHeight ==480){
self.window.frame =CGRectMake(0,20,320, 460);
}else if(ScreenHeight ==568){
self.window.frame =CGRectMake(0,20,320, 548);
}
}
然後在需要適配的視圖控制器中加入如下代碼:
#pragma mark--iOS7&iOS6適配--
- (UIStatusBarStyle)preferredStatusBarStyle
{
returnUIStatusBarStyleLightContent;
}
- (BOOL)prefersStatusBarHidden
{
return NO;
}
這樣就完成了iOS7的適配,而且不會因為調用ImageViewController而使適配失效。希望能對大家有所幫助。。。掛上一技術交流群。。。歡迎各位iOS開發者加入。QQ技術交流答疑群號:209476515