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