美文网首页iOSiOS控件封装iOS Dev
一个宏解决 iOS屏幕适配

一个宏解决 iOS屏幕适配

作者: 9c74109609f7 | 来源:发表于2015-10-20 16:28 被阅读7213次

    用一个宏 解决 iOS各种机型的屏幕适配问题


    前提条件:

    设计师给出的效果图应以iPhone6P为基准。


    什么时候使用这个宏?

    所有控件的尺寸、x值y值,

    cell的高度,文字的字体大小


    如何使用这个宏?

    在“Supporting Files”文件夹中的"PrefixHeader.pch"编写代码:

    #define SYRealValue(value) ((value)/414.0f*[UIScreen mainScreen].bounds.size.width)


    在设置值的时候敲SYRealValue(要设置的值)就好了。

    这样以后在开发中凡是涉及到设置值的地方,都用这个宏,宏里填的值是以6P为基准的值,即使跑在4和5上,也能按比例适配好,不需要我们操心了。

    相关文章

      网友评论

      • b2efe7751b24:横屏的时候就不行了
      • 小桥流水青山碧海:设计师给出的效果图应以iPhone6P为基准;所有控件的尺寸、x值y值,cell的高度,文字的字体大小. 都可以用这个宏吗#define SYRealValue(value) ((value)/414.0f*[UIScreen mainScreen].bounds.size.width)
      • 小桥流水青山碧海:设计师给出的效果图应以iPhone6P为基准;所有控件的尺寸、x值y值,cell的高度,文字的字体大小. 都可以用这个宏吗#define SYRealValue(value) ((value)/414.0f*[UIScreen mainScreen].bounds.size.width)
      • 现在就要幸福_d9e4:高度怎么适配?
      • d70c90dd18af:可是高度需要怎么处理呢,导航栏跟底部栏是怎么处理的,因为宽高比在不同机型是不一样的,按楼主如果6p上出的图,让在4上面是不是变胖了呢?
        47e2b53b72da:你的担心是不存在的,高度和宽度必须用同一个系数,用不同的系数才会变形
        hhgvg:@KAS_TEM 我想了想 宽度一样的机器 适配用一套就行了 不会扁的
      • Caiflower: 宽度是这么适配,高度并不是
        hhgvg:@Caiflower 高度不影响这个适配啊 我的意思是 只要做好宽度就好了 毕竟iPhone4 和5宽度一样 一套就行
        Caiflower:@hhgvg 在masonry也是用这个的
        hhgvg:@Caiflower 其实我想了想 你的宽度一样 在各个机型上的坐标和大小都是一样的 我觉得可以和mesory相结合起来 设置的话也是按等比压缩啊
      • 1382806c226a://按设备比例来拉伸当前视图的高度和宽
        #define fitScreenWidth (kScreenWidth/320)
        #define fitScreenHeight (kScreenHeight/568)


        群主看下这样有问题吗?
      • hhgvg:楼主 我用masonry和你这个一起使用 可以吗
      • 帅哥哥666:这个我在masonry中设置控件直接的间隔也可以用这个么
      • 云画的跃光:我用这个宏设置了字体大小,解决了我的难题,谢谢
      • 乐此不疲吶:如果是图片的话,在6p上看着很高,在4s上看着很扁!哈哈 :smiley:
        hhgvg:@乐此不疲吶 不会吧 等比适配的 都是乘以这个系数呀
      • JackYao:比例最好分开,高度是高度比,宽是宽度比,你这样不算等比例拉伸
        JackYao:@Luke0407 :flushed: 我没说一致啊。。
        Luke0407:@JackYao 高度比和宽度比不一致的,比如你一个正方形按照你这么做就变成长方形了
      • 450000fd8836:4s不行啊
      • 若锦:高度也是乘这个比例么?
        hhgvg:@若锦 系数都一样的 我觉得差不多
      • 6f9d602bab9e:有例子么楼主
      • 大生活家:我直接给高度不正确
      • c97db3ba215a:在xib里面怎么设置值啊? 试了好久并不会
      • davon:mark
      • c8b07114ba48:我也是用的这种办法,最初基于4寸屏幕的设计图是除以320.0
        春田花花幼儿园:那后来为什么不基于iPhone5/5s了呢?
      • 敖老黑:→_→用自动布局的飘过
        hhgvg:@敖老黑 你用自动布局 但是你的字体怎么适配呢 还有等比
      • 还好我不懂:不错!
      • 9c74109609f7:xib拖控件过来的同学记得关掉凹凸雷奥特啊
      • 6cb205ce23e5:你这个不就是直接拉伸吗?
      • 码修:bug?点两下出了两条
      • 码修:bug?点两下出了两条
      • 码修:总感觉.........我试试去
      • 码修:总感觉.........我试试去
      • 9c74109609f7:宏里的414指的是6P宽度的点位,如果效果图是6为基准,请将414替换成375
        David_Cap:@FuckerQ :joy: :joy: 凹凸雷奥特
        9c74109609f7:@码修 xib要关掉凹凸雷奥特
        码修:@FuckerQ xib 用凹凸累凹特?
      • 921daab44a8c:这个想法很实际,但是难题估计很多
        9c74109609f7:@微忧 最新开发的项目就是这样适配的,PM和设计师都很满意😄

      本文标题:一个宏解决 iOS屏幕适配

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