iOS屏幕适配 巧技

作者: David_Cap | 来源:发表于2015-11-06 09:07 被阅读1998次

    前言

    在iOS开发中,由于各个屏幕宽度不一样,所以适配起来多少有些麻烦。

    本文,先介绍一下适配方法,然后介绍一下这个方法在屏幕适配上的原理

    一个屌炸天的适配宏

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

    使用方法

    例如的我设计稿是 按照6设计的,也就是屏幕宽度 750.0f。

    然后我在设计稿上的一个View高度是300.0,那么 FitRealValue(300.0) 返回的就是 这个300在对应的size的屏幕下应该显示的高度。

    就这样清清爽爽的解决了屏幕适配的问题。

    原理

    俗话云:知其然 知其所以然。

    那么为什么我们的宏能成立呢。

    假设 设计稿的宽度为:designW = 750.0f
         View在设计稿中的高度为:designH = value
         
         实际屏幕的宽度为:realW = [UIScreen mainScreen].bounds.size.width
         View在实际屏幕中的高度为:realH   
    
    
        所以:
        
        designW       realW
       ---------  =  -------
        designH       realH
        
        所以realH = (realW*designH)/designW
        也就是: realH = ([UIScreen mainScreen].bounds.size.width * value)/750.0f
    

    参考致谢

    http://www.jianshu.com/p/ea993f11f511

    相关文章

      网友评论

      • 浮躁_忆:这个只能控制控件在所有屏幕下面宽高比保持不变.但无法使控件在所有屏幕下完成适配.
        David_Cap:是的,但是您的“所有屏幕下完成适配”,是什么样的适配呢。
      • hhgvg:宽度可以 高度不行
        俄一直陪着:按照6设计的,也就是屏幕宽度 750.0f?6的屏幕宽度不是375吗?
        hhgvg:@David_Cap 我的意思是这个不算等比压缩啊 宽度比是宽度比 高度比是高度比 假如你高度用这种适配会不会不一样
        David_Cap:@hhgvg 就是用宽度 适配高度啊。。。。。。
      • 心中的信念:能弄个例子吗
      • 十一岁的加重:学习学习,好东西
        David_Cap:@十一岁的加重 一些实用小技巧,总结一下。 :blush:

      本文标题:iOS屏幕适配 巧技

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