关于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