美文网首页
iOS开发干货-屏幕适配

iOS开发干货-屏幕适配

作者: 遇见就不在 | 来源:发表于2017-08-30 10:14 被阅读51次

1、iphone尺寸

设备iPhone 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel)
3GS 3.5-inch 320x480 @1x 320x480
4(s) 3.5-inch 320x480 @2x 640x960
5c 4-inch 320x568 @2x 640x1136
5(s) 4-inch 320x568 @2x 640x1136
6 4.7-inch 375x667 @2x 750x1334
6+ 5.5-inch 414x736 @3x 1080x1920
7 4.7-inch 375x667 @2x 750x1334
7+ 5.5-inch 414x736 @3x 1080x1920

2、名词解释

  • 宽高(width/height):手机的物理尺寸,包括显示屏和边框。
  • 屏幕尺寸:通常所说的iPhone5屏幕尺寸为4英寸、iPhone6屏幕尺寸为4.7英寸,指的是显示屏对角线的长度(diagonal)。
  • 像素密度PPI(Pixel Per Inch by diagonal):表示沿着对角线,每英寸所拥有的像素(Pixel)数目。注意:PPI数值越高,代表显示屏能够以越高的密度显示图像,即通常所说的分辨率越高、颗粒感越弱。

3、示意图

4、@2X 和@3X适配问题

@2X

  • iPhone3GS时代,我们为一个应用提供图标(或按钮提供贴图),只需要icon.png。针对现在的iPhone4~6 Retina显示屏,需要制作额外的@2x高分辨率版本。
  • 例如在iPhone3GS中,scale=1,用的图标是50x50pixel(logicalimage.size=50x50point);在iPhone4~6中,scale=2,则需要100×100pixel(logical image.size=50x50point,乘以image.scale=dimensions in pixels),并且命名为icon@2x.png。
  • 如果APP要同时兼容iPhone3GS~iPhone6,则需要提供icon.png/icon@2x.png两种分辨率的图片。

@3x

5、iOS UIImage 加载图片方式

  • imageNamed:该方法使用系统缓存,适合表视图重复加载图像的情形。同时该API根据UIScreen的scale,自动查找包含对应高倍图后缀名(@2x)的文件,如果找到二倍图,则image.scale=2.0,对应逻辑size大小以point度量(pixel度量的一半);如果没找到设置默认image.scale=1.0,对应逻辑size大小同像素尺寸。因此,使用该方法,无需特意指定高倍图后缀。在实际运行时,系统如果发现当前设备是Retina屏(scale=2),会自动寻找"*@2x.png"命名格式的图片,加载针对Retina屏的图片素材,否则会失真。

  • imageWithContentsOfFile/imageWithData/initWithContentsOfFile/initWithData:这组方法创建的UIImage对象没有使用系统缓存,并且指定文件名必须包含明确的高倍图后缀。如果文件名包含@2x后缀,则image.scale=2.0;否则默认image.scale=1.0,同样对于Retina屏将会失真。

  • 目前,适配iPhone6+时,除了一些铺满全屏的大图(LogoIcon、LaunchImage)需提供三倍图,其他的小图仍可沿用原有的二倍图自适应拉伸。
    对于iPhone3、4/5/6、6+三类机型,需要按分辨率提供相应的高倍图并且文件名添加相应后缀,否则会拉伸(stretchable/resizable)失真(模糊或边角出现锯齿)

相关文章

  • iOS开发干货-屏幕适配

    1、iphone尺寸 2、名词解释 宽高(width/height):手机的物理尺寸,包括显示屏和边框。 屏幕尺寸...

  • iPhone X屏幕适配

    iPhone X开发设计屏幕适配。iPhone X(10)屏幕分辨率与适配,iOS开发适配与UI设计问题。 htt...

  • iOS判断刘海屏幕机型

    原文iOS刘海手机屏幕的适配判断是不是iphone x齐刘海屏幕iOS开发 iPhoneX以上机型适配判断判断iP...

  • iOS字体适配

    随着iPhone机型种类的增加,iOS的小开发仔们各种机型的屏幕适配,字体适配是否困扰着你呢?我们都知道屏幕适配有...

  • 屏幕适配

    适配 什么是适配?适应、兼容各种不同的情况 iOS开发中的适配?系统适配针对不同版本的操作系统进行适配屏幕适配针对...

  • iOS开发屏幕适配

    Hello,简书! ## iOS开发屏幕适配 ## 屏幕适配原则大屏手机显示更多的内容 - 并不是大屏手机就根据屏...

  • iOS学习笔记24-不断进化的屏幕适配

    一、屏幕适配 iOS的屏幕适配可以分为3大块,代表着不同时期的屏幕适配主流: AutoResizing:在iOS6...

  • IOS 屏幕适配(一)理论篇

    @[TOC](IOS 屏幕适配(一)理论篇) 1. IOS 屏幕适配基本概念 1.1 IOS 设备的尺寸和分辨率 ...

  • iOS屏幕适配和设计流程分析

    iOS开发中,屏幕适配很多使用masonary这个库,但是使用过程中需要知道这些在屏幕适配的过程中与图片相关的工作...

  • React Native 屏幕适配(炒鸡简单的方法)

    前言 React Native 可以开发 ios 和 android 的 app,在开发过程中,势必会遇上屏幕适配...

网友评论

      本文标题:iOS开发干货-屏幕适配

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