iOS7的适配

来源:互联网 发布:阿里云tv遥控器 编辑:程序博客网 时间:2024/05/23 14:12

        关于iOS7的适配这个问题自iOS7发布以来就一直是众多iOS开发者热议的话题,网上的对于这个问题也是众说纷纭。有的说这是Xcode5 iOS7SDK的bug,但是苹果坚决不承认这是bug,而且规定新发布的应用必须针对iOS7进行适配,否则坚决不让上线。。。mark。。。好苦逼啊。。。

        网上关于iOS7屏幕适配的问题的文章比比皆是,第一次做iOS7的适配的时候我也是多走了很多弯路,遇到了很多奇葩的问题。比如说你可能已经做好了适配,但是调用拍照功能弹出IMageViewController的时候就会出现奇葩问题。

        那么关于iOS7的适配问题有两种解决方案:

        1.完全隐藏状态栏。但是这样做的代价是,你的应用如果用导航条的话,你必须考虑到这一点。

        2.显示出状态栏。

        我主要说说第二种解决方案:

        在AppDelegate中加入如下的代码:

if([[[UIDevicecurrentDevice]systemVersion]floatValue]>6.1){

        //根据屏幕大小设置windowframe

        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
3 0