美文网首页
iPhone X 适配

iPhone X 适配

作者: zl_xust | 来源:发表于2018-01-08 07:48 被阅读30次

    1、首先适配一下启动图,关于屏幕分辨率的问题,已经有很多文章阐述,简单说一下:

    iPhone X的启动图片就一张,格式是1125px × 2436px (375pt × 812pt @3x)。

    2、进入LaunchImage,点击一张之前的启动图,在右侧LaunchImage选项下的iOS8.0 and Later选项下勾选Portrait。此时LaunchImage就多出了个iPhone X的启动图位置。把做好的图片拉入这个空位就可以了。备注(此方案针对使用LaunchImage的亲)

    3、此时删除您的应用重新运行一下,就可以看到iPhone X下的启动图就没问题了。

    完成以上三部剩下的就是适配的为题,很多关于安全区域的介绍请参考其他资料,这里说比较重要的两个问题,TabBar 和 Status Bar 问题

    定义一个通用的常量宏,这样可以一处修改,全部修改。 说白了就是不要写死,比如说导航栏高度,直接写64直接洗白。

    适配iPhone X用到的宏有:

    // 判断是否是iPhone X

    #defineiPhoneX([UIScreeninstancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125,2436), [[UIScreen mainScreen] currentMode].size) : NO)

    // 状态栏高度

    #defineSTATUS_BAR_HEIGHT(iPhoneX ?44.f:20.f)

    // 导航栏高度

    #defineNAVIGATION_BAR_HEIGHT(iPhoneX ?88.f:64.f)

    // tabBar高度

    #defineTAB_BAR_HEIGHT(iPhoneX ? (49.f+34.f) :49.f)

    // home indicator

    #defineHOME_INDICATOR_HEIGHT(iPhoneX ?34.f:0.f)

    比如

    CGRecttabFrame =self.tabBar.frame;

    tabFrame.size.height=_height_tabBar;

    tabFrame.origin.y=self.view.frame.size.height-_height_tabBar;

    self.tabBar.frame= tabFrame;

    这个是时候,你会发现tabBar上的图片乱调了

    相关文章

      网友评论

          本文标题:iPhone X 适配

          本文链接:https://www.haomeiwen.com/subject/lnlmpxtx.html