• 如何让你的App适配iOS7?


    随着苹果在2013年9月18日发布iOS7最新的系统以来,iOS各种设备升级到iOS7的数字就已经不断刷新记录。目前据外界统计iOS7设备装机量已经达到2.5亿部,已占iOS设备的64%。由此可见让自己的app适配到iOS7是如此的重要。下面就说一下采取哪种方法能让你的app适配iOS7的要求。

    第一种,你的app使用自带的UINavgationController的导航栏

    众所周知,iOS7的标题栏(statusbar)已经和视图重叠在一起,所以y坐标的值有所改变。从而导致原来的app头部坐标向上偏移,而不是显示在正确的位置。如果你的app使用了下面的特性如下:

    那么恭喜你,你只需要在你的ViewController里面的ViewDidLoad里面加入下面这句话就可以完成了适配:

    self.edgesForExtendedLayout = UIRectEdgeNone;

    然后你的app导航栏和状态栏的位置就已经恢复正确了。

    第二种:你没有用系统自带的导航栏而是自己贴视图(View)模拟成导航栏的样子:

    这种情况你就需要在AppDelegate文件里加入下面的代码:

    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
            [application setStatusBarStyle:UIStatusBarStyleLightContent];
            self.window.clipsToBounds =YES;
            self.window.frame =  CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height);
            self.window.bounds = CGRectMake(0,0, self.window.frame.size.width, self.window.frame.size.height);
            [[NSUserDefaults standardUserDefaults] setFloat:self.window.frame.size.height forKey:@"windowHeight"];
        }

    如果你用到了pushViewController的方法,别忘记在目的视图的ViewDidAppear里面加入下面的代码:

    -(void)viewDidAppear:(BOOL)animated
    {
        [super viewDidAppear:animated];
        if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
            CGRect frame=self.view.frame;
            if (frame.size.height==[[NSUserDefaults standardUserDefaults] floatForKey:@"windowHeight"])
            {
                frame.size.height-=20;
            }
            self.view.frame=frame;
        }
    }

    这样你的app也已经完成了适配。其实适配起来也还算蛮方便的。最后展示一下我的app在iOS7下面的效果。

    参考资料:

    iOS 7 status bar back to iOS 6 style?

    适配iOS7开发

    适配iOS7开发2

  • 相关阅读:
    hash表学习笔记
    【学习笔记-集合】HashMap 源码浅析
    java 同步
    学习SpringBoot了
    记录一些好的 学习网站
    Idea 的页面布局设定,tomcat及普通web项目设定
    Spring 札记
    java面试题(基础+非基础)[不定期更新]
    maven 使用
    ant 生成报告时报错,Errors while applying transformations: Fatal error during transformation
  • 原文地址:https://www.cnblogs.com/dm521/p/ios-7-status-bar-back-to-ios-6-style.html
Copyright © 2020-2023  润新知