现在iOS开发中使用的切图一般都是二倍图和三倍图了,一倍图几乎用不上了。

OC是一门动态语言,动态体现在三方面:1.动态类型 2.动态绑定 3.动态加载。

其中的动态加载指的就是图片的加载,OC会根据屏幕的不同去加载不同倍数的切图,现在iPhone4、5、6、7、8都会去加载二倍图,而相应的plus、X、XR、XS、XSMax都会去加载三倍图。

在iPhone4、5、6、7、8上的1pt=2px,而相应的plust、X、XR、XS、XSMax上的1pt=3px。

验证动态加载:

使用两张不同的图片,图片名相同,其中一张是二倍图,一张是三倍图,然后在不同手机上加载,看加载的图片。

效果图:

0.二、三倍图.png

0.二倍图.png

0.sanbeitu.png

第一张屏幕截图实在iPhone8模拟器上,第二章屏幕截图是在iPhone8plus模拟器上,我们看到iPhone8加载的是二倍图,iPhone8plus加载的是三倍图。

那么当只有一张三倍图或二倍图的时候,两个模拟器又会怎么加载图片呢?

我们会发现,如果没了二倍图iPhone8同样会去加载三倍图,如果没了三倍图iPhone8plus也同样会去加载二倍图(退而求其次)。

这里抛出一个问题:

那么在加载切图的时候我们还需要使用代码进行屏幕适配吗(图片的宽高乘以一个比例系数)?

个人觉得还是分情况,以及具体的需求。按照苹果给出的二、三倍图概念,一般图片就不需要代码适配了,但如果一个切图宽度是铺满全屏或有需求需要,我们还是需要使用代码适配的。

****本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。

二倍图三倍图什么意思_iOS开发中的二倍图、三倍图相关推荐

  1. R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图、2D密度估计、MASS包中的kde2d函数实现2D密度估计、geom_density2d函数可视化二维密度图

    R语言ggplot2可视化绘制二维的密度图:在R中建立二维散点数据的连续密度热图.2D密度估计.MASS包中的kde2d函数实现2D密度估计.geom_density2d函数可视化二维密度图 目录

  2. c语言字符串二维数组的动态分配应,C语言中动态分配二维数组复习过程.doc

    C语言中动态分配二维数组复习过程.doc C语言中动态分配二维数组在C中动态分配内存的,对于单个变量,字符串,一维数组等,都是很容易的.C中动态分配二维数组的方法,很少有C语言书中描述,我查找了有的C ...

  3. iOS开发中的单元测试(三)——URLManager中的测试用例解析

    本文转载至 http://www.cocoachina.com/cms/plus/view.php?aid=8088   此前,我们在<iOS开发中的单元测试(一)&(二)>中介绍 ...

  4. 微信小程序开发中的二三事之网易云信IMSDK DEMO

    本文由作者邹永胜授权网易云社区发布. 简介 为了更好的展示我们即时通讯SDK强悍的能力,网易云信IM SDK微信小程序DEMO的开发就提上了日程.用产品的话说就是: 云信 IM 小程序 SDK 的能力 ...

  5. swift 同步 网络请求_IOS开发中异步网络请求上实现同步逻辑

    IOS开发中异步网络请求上实现同步逻辑 前提: 可能遇到一些问题,比如上传多个数据,需要等多个数据上传成功后做一定的处理,而且一个个上传,万一哪个上传失败了,后面就不需要上传了,直接报错. 之前ASI ...

  6. ios支付 选择货币_iOS开发中金钱货币的计算问题

    ios开发中涉及到和货币价格计算相关的,都需要注意计算精度的问题. 服务器有可能返回的金钱是int float double string NSNumber, 单纯的float.double的计算都会 ...

  7. ios 扇形 按钮_IOS 开发中画扇形图实例详解

    IOS 开发中画扇形图实例详解 昨天在做项目中,遇到一个需要显示扇形图的功能,网上搜了一下,发现code4app里面也没有找到我想要的那种类似的效果,没办法了,只能自己学习一下如何画了. 首先我们需要 ...

  8. 本科三本的计算机博士,读书中的我 从三本本科到985博士

    原标题:读书中的我 从三本本科到985博士 1 11年前,那时我刚上高中,城里太多的诱惑使我迷失了方向,总以为自己很聪明,能用很少的时间来收获很多的东西,我把大把大把的时间和金钱花在了网络游戏上面,而 ...

  9. Andoid开发中生成二维码

    2019独角兽企业重金招聘Python工程师标准>>> 第一步: 确定我们二维码的位置,即是在我们应用的哪个页面的哪个位置,简单讲就是用一个ImageView把二维码展示出来,我们就 ...

  10. Android开发中完全退出程序的三种方法

    Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢? 这里给大家三种比较简单的方法实现. 首先要说明在B中直接使用finish(),接 ...

最新文章

  1. 超维计算让AI有记忆和反应,还能解决自动驾驶难题
  2. Unhandled exception 0xC0000005: Access violation writing location
  3. Java常见的系统路径与获取方法
  4. MySQL官方备份_Mysqlbackup 备份详解(mysql官方备份工具)
  5. 有关mysql的开发介绍_深入浅出MySQL之开发篇(二)
  6. 数据意识崛起,从企业应用看BI软件的未来发展
  7. android 动画之漂移,Android之自定义Drawable实现灵动的红鲤鱼动画(上篇)
  8. c语言80c51控制系统设计,89C51单片机的步进电动机控制系统设计
  9. 软考/软件设计师资料真题/软件设计师教程
  10. Windows系统怎么查看电脑的系统位数?
  11. 开关量模块——一对多无线传输
  12. 网络安全技能竞赛通关教程
  13. 手机虚拟键盘的设置显示隐藏
  14. k8s的Scheduler 原理(预选策略、优选策略)
  15. android flv视频播放器代码,音视频学习代码合集
  16. 花海吉他谱-无限延音编配
  17. 2021年YCC发展路线图
  18. Webrtc Native C++在root模式下启用PulseAudio,音频采集替换为ALSA模式
  19. Chained-Tracker:链式成对关注回归结果,用于端到端联合多目标检测和跟踪
  20. JAVA代码审计之WebGoat靶场SQL注入

热门文章

  1. ad转3d视图快捷键_AD详细快捷键按键
  2. 生信高性能服务器,【玩转腾讯云】使用云服务器进行生信数据分析
  3. 基于Springboot+MyBatisPlus+Vue前后端分离大学生毕业论文答辩系统
  4. 哈希列表、哈希链、哈希树
  5. 浏览器验证码图片(缩略图)显示不出来问题解决办法
  6. VMWare虚拟机开启失败(模块“Disk“启动失败)
  7. win10显示隐藏文件_u盘内隐藏文件怎么显示 u盘内隐藏文件显示方法【详细步骤】...
  8. Git 初接触 (四) Git的分支操作
  9. 服务器被入侵了怎么办?
  10. Android事件分发机制详解:史上最全面、最易懂