美文网首页
iPhone X系列适配

iPhone X系列适配

作者: 黄dog | 来源:发表于2018-11-14 16:05 被阅读4次

    iPhone尺寸

    iPhone尺寸 iPhone尺寸

    iPhone X系列都有一个共同的特点,就是“齐刘海”+底部触摸条

    针对这种样式的屏幕,我们处理方法是一样,几个宏直接搞定

    宏定义获取当前屏幕宽度或高度进行比较来判断是不是iPhone X

    #define Is_iPhoneX ((kScreenHeight >= 812.f) ? YES : NO)

    // iPhone X Tabbar底部安全区

    #define BottomSafeAreaHeight (Is_iPhoneX ? 34.f : 0.f)

    // iPhone X 导航栏+状态条

    #define NavigationBarHeight (Is_iPhoneX ? 88.f : 64.f)

    // 状态条高度

    #define StatusBarHeight (Is_iPhoneX ? 44.f : 20.f)

    针对继承自UIScrollView的,需要关闭自动调整内边距。在iOS11之前,系统会通过动态调整UIScrollView的contentInset属性来实现视图内容的偏移,但是在iOS11中,系

    统不再调整UIScrollView的contentInset,而是通过contentInsetAdjustmentBehavior和adjustedContentInset来

    配合完成。

    if (@available(iOS 11.0, *)) {

            [UIScrollView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

    }

    在使用的地方手动设置内边距,底下的触摸区域就能正常显示内容了,而且当UIScrollView滑到最底部的时候,不会被遮住。

    self.scrollView.contentInset = UIEdgeInsetsMake(0, 0, BottomSafeAreaHeight, 0);

    在需要用屏幕比例进行调整的UI,定义两个宏

    #define kRatioWidth  (kScreenWidth / 375.0)

    #define kRatioHeight (Is_iPhoneX ? 1.0 : (kScreenHeight / 667.0))

    (设计图是按照iPhone 6的尺寸设计的,比例用667、375,如果是按照iPhone 5s尺寸设计的,比例用568、320)

    相关文章

      网友评论

          本文标题:iPhone X系列适配

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