美文网首页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