美文网首页
苹果最新的屏幕适配方案

苹果最新的屏幕适配方案

作者: 阿龍飛 | 来源:发表于2018-09-15 09:56 被阅读29次
    手机型号 分辨率 启动图尺寸 系数
    iPhoneES 640 × 1136 320 x 568 @2x
    iPhone8 750 × 1334 375 x 667 @2x
    iPhone8Plus 1242 × 2208 414 x 736 @3x
    iPhoneXS 1125 × 2436 375 x 812 @3x
    iPhone XR 828 x 1792 414x 896 @2x
    iPhone XS Max 1242 x 2688 414 x 896 @3x

    Xcode10一上来就是build没2秒就报错了,看报错的说法是有重复的info.plist。去掉重复的plist文件 A4AA6CB1B30B6C133D537DD4F5CC4176.png

    libstdc++相关的3个库(libstdc++、libstdc++.6、libstdc++.6.0.9)在XCode10和iOS12中被移除
    解决办法一:删除libstdc++,编译无错则不用适配

    宏定义

    #define kNavBarHeight              (iphoneX ? 88.0 : 64.0)
    #define kBottomBarHeight        (iphoneX ? 34.0 : 0)
    #define kContentHeight             (kScreenHeight - kNavBarHeight-kBottomBarHeight)
    
    针对继承自UIScrollView的,需要处理一下内边距
    
    第一步:关闭自动调整内边距
    if (@available(iOS 11.0, *)) {
            [UIScrollView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
    }
    
    第二步:在使用的地方手动设置内边距(千万别全局设置,容易出事)
    self.scrollView.contentInset = UIEdgeInsetsMake(0, 0, kBottomBarHeight, 0);
    这样设置以后,底下的触摸区域就能正常显示内容了,而且当UIScrollView滑到最底部的时候,不会被遮住。
    
    除此之外,有些比较大的控件,产品会要求按照屏幕比例进行调整,小屏幕的显示的小一点,大屏幕的显示大一点,这个也是两个宏搞定
    #define kScaleH                   (kScreenHeight/667.0)
    #define kScaleW                  (kScreenWidth/375.0)
    
    
    现在设配:iOS10以上 [图片上传中...(82C0359E14A7E8DCE6C40882B394034C.png-b6a9dc-1537325157244-0)] 82C0359E14A7E8DCE6C40882B394034C.png

    Example:

    Tables Are Cool
    col 3 is right-aligned $1600
    col 2 is centered $12
    zebra stripes are neat $1
    dog bird cat
    foo foo foo
    bar bar bar
    baz baz baz

    相关文章

      网友评论

          本文标题:苹果最新的屏幕适配方案

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