iphone_iphone12 - CSDN
精华内容
参与话题
  • iPhone设备 物理分辨率是硬件所支持的,逻辑分辨率是软件可以达到的。 代数 设备 操作系统 逻辑分辨率(point) 物理分辨率(pixel) 屏幕尺寸(对角线长度) 缩放因子 iPhone ...

     iPhone设备

    物理分辨率是硬件所支持的,逻辑分辨率是软件可以达到的。

    代数 设备 操作系统 逻辑分辨率(point) 物理分辨率(pixel) 屏幕尺寸(对角线长度) 缩放因子
      iPhone          
    第一代 iPhone 2G iOS 1 320 x 480 480 x 320 3.5寸 1x
    第二代 iPhone 3 iOS 2 320 x 480 480 x 320 3.5寸 1x
    第三代 iPhone 3GS iOS 3 320 x 480 480 x 320 3.5寸 1x
    第四代 iPhone 4 iOS 4 320 x 480 960 × 640 3.5寸 2x
    第五代 iPhone 4S iOS 5 320 x 480 960 × 640 3.5寸 2x
    第六代 iPhone 5 iOS 6 320 x 568 1136 x 640 4.0寸 2x
    第七代 iPhone 5S/5C iOS 7 320 x 568 1136 x 640 4.0寸 2x
    第八代 iPhone 6 iOS 8 375 x 667 1334 x 750 4.7寸 2x
    第八代 iPhone 6 Plus iOS 8 414 x 736 2208 x 1242 (1920x1080) 5.5寸 3x
    第九代 iPhone 6S iOS 9 375 x 667 1334 x 750 4.7寸 2x
    第九代 iPhone 6S Plus iOS 9 414 x 736 2208 x 1242 (1920x1080) 5.5寸 3x
      iPhone SE iOS 9 320 x 568 1136 x 640 4寸 2x
    第十代 iPhone 7 iOS 10 375 x 667 1334 x 750 4.7寸 2x
    第十代 iPhone 7 Plus iOS 10 414 x 736 2208 x 1242 (1920x1080) 5.5寸 3x
    第十一代 iPhone 8 iOS 11 375 x 667 1334 x 750 4.7寸 2x
    第十一代 iPhone 8 Plus iOS 11 414 x 736 2208 x 1242 (1920x1080) 5.5寸 3x
    第十一代 iPhone X iOS 11 375 x 812 2436 × 1125 5.8寸 3x

    苹果所有设备屏幕尺寸  

    手机型号 尺寸(对角线) 物理点 宽长比例 像素点 倍数 状态栏高度 底部安全距离 导航栏高度 tabbar高度
    iPhone 4/4S 3.5英寸 320x480 0.667 640x960 @2x 20 - 44 49
    iPhone 5/5S/5C 4英寸 320x568 0.563 640x1136 @2x 20 - 44 49
    iPhone SE 4英寸 320x568 0.563 640x1136 @2x 20 - 44 49
    iPhone 6 4.7英寸 375x667 0.562 750x1334 @2x 20 - 44 49
    iPhone 6 Plus 5.5英寸 414x736 0.563 1242x2208 @3x 20 - 44 49
    iPhone 6S 4.7英寸 375x667 0.562 750x1334 @2x 20 - 44 49
    iPhone 6S Plus 5.5英寸 414x736 0.563 1242x2208 @3x 20 - 44 49
    iPhone 7 4.7英寸 375x667 0.562 750x1334 @2x 20 - 44 49
    iPhone 7 Plus 5.5英寸 414x736 0.563 1242x2208 @3x 20 - 44 49
    iPhone 8 4.7英寸 375x667 0.562 750x1334 @2x 20 - 44 49
    iPhone 8 Plus 5.5英寸 414x736 0.563 1242x2208 @3x 20 - 44 49
    iPhone X 5.8英寸 375x812 0.462 1125x2436 @3x 44 34 44 83
    iPhone XS 5.8英寸 375x812 0.462 1125x2436 @3x 44 34 44 83
    iPhone XS Max 6.5英寸 414x896 0.462 1242x2688 @3x 44 34 44 83
    iPhone XR 6.1英寸 414x896 0.462 828x1792 @2x 44 34 44 83
    iPhone 11 6.1英寸 414x896 0.462 828x1792 @2x 44 34 44 83
    iPhone 11 Pro 5.8英寸 375x812 0.462 1125x2436 @3x 44 34 44 83
    iPhone 11 Pro Max 6.5英寸 414x896 0.462 1242x2688 @3x 44 34 44 83

    如图所示:

    这里写图片描述

    Tips:

    机型 屏幕宽高比
    iPhone 5 320÷568=0.563
    iPhone 6 375÷667=0.562
    iPhone 6 Plus 414÷736=0.5625

      
    最终发现iPhone5和6一个小秘密,它们的比例是不变的


    iPod设备

    设备 操作系统 物理分辨率(pixel) 屏幕尺寸(对角线长度) 缩放因子
    iPod Touch 1 iOS 1 480 x 320 3.5寸 1x
    iPod Touch 2 iOS 2 480 x 320 3.5寸 1x
    iPod Touch 3 iOS 3 480 x 320 3.5寸 1x
    iPod Touch 4 iOS 4 960 x 640 3.5寸 2x
    iPod Touch 5 iOS 6 1136 x 640 4.0寸 2x
    iPod Touch 6 iOS 8 1136 x 640 4.0寸 2x

    iPad设备

    设备 操作系统 物理分辨率(pixel) 屏幕尺寸(对角线长度) 缩放因子
    iPad 1 iOS 3 1024 x 768 9.7寸 1x
    iPad 2 iOS 4 1024 x 768 9.7寸 1x
    iPad 3 (The New iPad) iOS 5 2048 x 1536 9.7寸 2x
    iPad 4 iOS 6 2048 x 1536 9.7寸 2x
    iPad Air iOS 7 2048 x 1536 9.7寸 2x
    iPad Air 2 iOS 8 2048 x 1536 9.7寸 2x
    iPad Pro iOS 9 2048 x 1536 9.7寸 2x
    iPad (第五代) iOS 10 2048 x 1536 9.7寸 2x
    iPad Pro iOS 9 2732 x 2048 12.9寸 3x
    iPad Pro (取代9.7寸) iOS 10 2224 x 1668 10.5寸 3x
    iPad mini iOS 6 1024 x 768 7.9寸 1x
    iPad mini 2 iOS 7 2048 x 1536 7.9寸 2x
    iPad mini 3 iOS 8 2048 x 1536 7.9寸 2x
    iPad mini 4 iOS 9 2048 x 1536 7.9寸 2x

    所有设备型号官网地址:https://www.theiphonewiki.com/wiki/Models

     

    //获得屏幕的宽高
    #define kScreenWidth ([UIScreen mainScreen].bounds.size.width)
    #define kScreenHeight ([UIScreen mainScreen].bounds.size.height)
    //iPhoneX / iPhoneXS
    #define  isIphoneX_XS     (kScreenWidth == 375.f && kScreenHeight == 812.f ? YES : NO)
    //iPhoneXR / iPhoneXSMax
    #define  isIphoneXR_XSMax    (kScreenWidth == 414.f && kScreenHeight == 896.f ? YES : NO)
    //异性全面屏
    #define   isFullScreen    (isIphoneX_XS || isIphoneXR_XSMax)

    // Status bar height.
    #define  StatusBarHeight     (isFullScreen ? 44.f : 20.f)

    // Navigation bar height.
    #define  NavigationBarHeight  44.f

    // Tabbar height.
    #define  TabbarHeight         (isFullScreen ? (49.f+34.f) : 49.f)

    // Tabbar safe bottom margin.
    #define  TabbarSafeBottomMargin         (isFullScreen ? 34.f : 0.f)

    // Status bar & navigation bar height.
    #define  StatusBarAndNavigationBarHeight  (isFullScreen ? 88.f : 64.f)

     

    转载:http://blog.csdn.net/Scorpio_27/article/details/52297643

    展开全文
  • iPhone屏幕尺寸、分辨率及适配

    万次阅读 多人点赞 2017-07-29 12:08:57
    从初代iPhone3GS到现如今的iPhone6(+),屏幕尺寸、分辨率、像素密度都在在不断增大。如何适配不同的屏幕尺寸,使UI更加协调美观,这给iPhone/iOS应用开发者带来了挑战。 本文结合个人在iOS UI开发和适配方面的粗浅...

    1.iPhone尺寸规格

    设备

    iPhone

    Width

    Height

    对角线

    Diagonal

    逻辑分辨率(point)

    Scale Factor

    设备分辨率(pixel)

    PPI

    3GS

    2.4 inches (62.1 mm)

    4.5 inches (115.5 mm)

    3.5-inch

     

    320x480

    @1x

    320x480

    163

    4(s)

    2.31 inches (58.6 mm)

    4.5 inches (115.2 mm)

    3.5-inch

    320x480

    @2x

    640x960

    326

    5c

    2.33 inches (59.2 mm)

    4.90 inches (124.4 mm)

    4-inch

    320x568

    @2x

    640x1136

    326

    5(s)

    2.31 inches (58.6 mm)

    4.87 inches (123.8 mm)

    4-inch

    320x568

    @2x

    640x1136

    326

    6

    2.64 inches (67.1 mm)

    5.44 inches (138.3 mm)

    4.7-inch

    375x667

    @2x

    750x1334

    326

    6+

    3.07 inches (77.9 mm)

    6.23 inches (158.2 mm)

    5.5-inch

    414x736

    @3x

    (1242x2208->)

    1080x1920

    401 

       iPhone SE 和 iPhone 5 的显示屏尺寸一致,4-inch display(对角线长):


       iPhone 7iPhone 6(s) 的显示屏尺寸一致,4.7-inch display(对角线长):


        iPhone 7 Plus 和 iPhone 6(s) Plus 的显示屏尺寸一致,5.5-inch display(对角线长):



    2.单位inch(英吋

        1 inch = 2.54cm = 25.4mm

    3.iPhone手机宽高

        上表中的宽高(width/height)为手机的物理尺寸,包括显示屏和边框。

        以下为iPhone4s的宽高示意图:


    4.屏幕尺寸

        我们通常所说的iPhone5屏幕尺寸为4英寸、iPhone6屏幕尺寸为4.7英寸,指的是显示屏对角线的长度(diagonal)。

        以下为iPhone5~6+的屏幕尺寸规格示意图:


    5.像素密度PPI

        PPI(Pixel Per Inch by diagonal):表示沿着对角线,每英寸所拥有的像素(Pixel)数目。

        PPI数值越高,代表显示屏能够以越高的密度显示图像,即通常所说的分辨率越高、颗粒感越弱。



        根据勾股定理,可以得知iPhone4(s)的PPI计算公式为:


        计算结果稍有出入,这是因为像素的离散采样有锯齿效应。

    6.缩放因子scale factor between logic point and device pixel)

        (1)Scale起源

        早期的iPhone3GS的屏幕分辨率是320*480(PPI=163),iOS绘制图形(CGPoint/CGSize/CGRect)均以point为单位(measured in points):

        1 point = 1 pixel(Point Per Inch=Pixel Per Inch=PPI)

        后来在iPhone4中,同样大小(3.5 inch)的屏幕采用了Retina显示技术,横、纵向方向像素密度都被放大到2倍,像素分辨率提高到(320x2)x(480x2)= 960x640(PPI=326), 显像分辨率提升至iPhone3GS的4倍(1个Point被渲染成1个2x2的像素矩阵)。

        但是对于开发者来说,iOS绘制图形的API依然沿袭point(pt,注意区分印刷行业的“磅”)为单位。在同样的逻辑坐标系下(320x480):

        1 point = scale*pixel(在iPhone4~6中,缩放因子scale=2;在iPhone6+中,缩放因子scale=3)。

        可以理解为:

        scale=绝对长度比point/pixel)=单位长度内的数量比pixel/point)

        (2)UIScreen.scale

        UIScreen.h中定义了该属性:

        // The natural scale factor associated with the screen.(read-only)

        @property(nonatomic,readonlyCGFloat scale  NS_AVAILABLE_IOS(4_0);

        --------------------------------------------------------------------------------

        This value reflects the scale factor needed to convert from the default logical coordinate space into the device coordinate space of this screen.

        The default logical coordinate space is measured using points. For standard-resolution displays, the scale factor is 1.0 and one point equals one pixel. For Retina displays, the scale factor is 2.0 and one point is represented by four pixels.

        --------------------------------------------------------------------------------

        为了自动适应分辨率,系统会根据设备实际分辨率,自动给UIScreen.scale赋值,该属性对开发者只读。

        (3)UIScreen.nativeScale

        iOS8新增了nativeScale属性:

        // Native scale factor of the physical screen

        @property(nonatomic,readonlyCGFloat nativeScale NS_AVAILABLE_IOS(8_0);

        以下是iPhone6+下的输出,初步看来nativeScalescale没有太大区别

        --------------------------------------------------------------------------------

            (lldb)p (CGFloat)[[UIScreen mainScreen] scale]
            (CGFloat) $1 = 3
            (lldb) p(CGFloat)[[UIScreen mainScreen] nativeScale]
            (CGFloat) $2 = 3

        --------------------------------------------------------------------------------

        (4)机型判别

        在同样的逻辑分辨率下,可以通过scale参数识别是iPhone3GS还是iPhone4(s)。以下基于nativeScale参数,定义了探测机型是否为iPhone6+的宏:

        --------------------------------------------------------------------------------

        // not UIUserInterfaceIdiomPad
        #define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
        // detect iPhone6 Plus based on its native scale
        #define IS_IPHONE_6PLUS (IS_IPHONE && [[UIScreenmainScreen] nativeScale] == 3.0f)

        --------------------------------------------------------------------------------

        那么,同样的分辨率和scale,如何区分机型iPhone4与4s、iPhone5与5s呢?通过[[UIDevice currentDevice] model]只能判别iPhone、iPad、iPod大类,要判断iPhone具体机型型号,则需要通过sysctlbyname("hw.machine")获取详细的设备参数信息予以甄别。

    7.Resolutions &Rendering



    8.@2x/@3x以及高倍图适配

        (1)@2x

        @2x means the same “double”retina resolution that we’veseen on all iOS devices with retina displays to date, where each virtual pointin the user interface is represented by two physical pixels on thedisplay in each dimension, horizontal and vertical.

        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两种分辨率的图片。

        (2)@3x

        @3x means a new “triple” retina resolution, where eachuser interface point is represented by three display pixels. A single @2x pointis a 2 × 2 square of 4 pixels; an @3x point is a 3 × 3 square of 9 pixels.”

        iPhone6+在实际渲染时,downsampling/1.15(1242x2208->1080x1920),准确的讲,应该是@2.46x。苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x上。

        参考:《为什么iPhone 6 Plus要将3x渲染的2208x1242分辨率缩小到1080p屏幕上?》《详解 iPhone 6 Plus 的奇葩分辨率》《iPhone 6 Plus屏幕分辨率

        如果APP要同时兼容iPhone3GS~iPhone6+,则需要提供icon.png/icon@2x.png/icon@3x.png三种分辨率的图片。

        需要注意的是,iOS APP图标的尺寸命名都需要遵守相关规范。

        (3)高倍图文件命名

        对于iPhone3、4/5/6、6+三类机型,需要按分辨率提供相应的高倍图并且文件名添加相应后缀,否则会拉伸(stretchable/resizable)失真(模糊或边角出现锯齿)。
        以下基于UIImage的两类初始化API简介高倍图的适配:
        <1>+imageNamed:该方法使用系统缓存,适合表视图重复加载图像的情形。同时该API根据UIScreen的scale,自动查找包含对应高倍图后缀名(@2x)的文件,如果找到二倍图,则image.scale=2.0,对应逻辑size大小以point度量(pixel度量的一半);如果没找到设置默认image.scale=1.0,对应逻辑size大小同像素尺寸。因此,使用该方法,无需特意指定高倍图后缀。在实际运行时,系统如果发现当前设备是Retina屏(scale=2),会自动寻找"*@2x.png"命名格式的图片,加载针对Retina屏的图片素材,否则会失真。
        <2>+imageWithContentsOfFile/+imageWithData:(scale:)/-initWithContentsOfFile:/-initWithData:(scale:)
        这组方法创建的UIImage对象没有使用系统缓存,并且指定文件名必须包含明确的高倍图后缀。如果文件名包含@2x后缀,则image.scale=2.0;否则默认image.scale=1.0,同样对于Retina屏将会失真。
        <3>目前,适配iPhone6+时,除了一些铺满全屏的大图(LogoIcon、LaunchImage)需提供三倍图,其他的小图仍可沿用原有的二倍图自适应拉伸。

    9.Screen Bounds Application Frame

        (1)UIScreen.bounds

        // Bounds of entire screen in points(本地坐标系,起点为[0,0]

        @property(nonatomic,readonlyCGRect bounds

        --------------------------------------------------------------------------------

        //考虑转屏的影响,按照实际屏幕方向UIDeviceOrientation)的宽高

        #define SCREEN_WIDTH ([UIScreenmainScreen].bounds.size.width)

        #define SCREEN_HEIGHT ([UIScreenmainScreen].bounds.size.height)

        #define STATUSBAR_HEIGHT ([UIApplicationsharedApplication].statusBarFrame.size.height)

        //不考虑转屏的影响,只取竖屏UIDeviceOrientationPortrait)的宽高

        #define SCREEN_WIDTH MIN([UIScreenmainScreen].bounds.size.width, [UIScreenmainScreen].bounds.size.height)

        #define SCREEN_HEIGHT MAX([UIScreenmainScreen].bounds.size.height, [UIScreenmainScreen].bounds.size.width)

        #define STATUSBAR_HEIGHT MIN([UIApplicationsharedApplication].statusBarFrame.size.width, [UIApplicationsharedApplication].statusBarFrame.size.height)

        --------------------------------------------------------------------------------

         (2)UIScreen.nativeBounds

        iOS8新增了nativeBounds属性,输出竖屏像素级分辨率:

        // The bounding rectangle of the physical screen,measured in pixels. (read-only)
        // This rectangle is based on the device in a portrait-up orientation. This value does not change as the device rotates.

        @property(nonatomic,readonlyCGRect nativeBounds NS_AVAILABLE_IOS(8_0);

        以下是iPhone6+下的输出:

        --------------------------------------------------------------------------------

           (lldb) poNSStringFromCGRect([(UIScreen*)[UIScreen mainScreen] bounds])
            {{0, 0}, {414, 736}}
            (lldb) poNSStringFromCGRect([(UIScreen*)[UIScreen mainScreen] nativeBounds])
            {{0, 0}, {1242, 2208}}

        --------------------------------------------------------------------------------

        (3)UIScreen.applicationFrame

        // Frame of application screen area in points (i.e.entire screen minus status bar if visible)

        // bounds除去系统状态栏

        @property(nonatomic,readonlyCGRect applicationFrame

        --------------------------------------------------------------------------------

        // APPFRAME_WIDTH=SCREEN_WIDTH

        #define APPFRAME_WIDTH ([UIScreen mainScreen].applicationFrame.size.width)

        // APPFRAME_HEIGHT=SCREEN_HEIGHT-STATUSBAR_HEIGHT

        //注意:横屏UIDeviceOrientationLandscape)时,iOS8默认隐藏状态栏,此时APPFRAME_HEIGHT=SCREEN_HEIGHT

        #define APPFRAME_HEIGHT ([UIScreen mainScreen].applicationFrame.size.height)

        -------------------------------------------------------------------------------- 

        (4)bounds和frame的区别

        下图展示了bounds和frame的区别



    10.机型尺寸适配Screen Scale Adaption

        从iPhone3GS/iPhone4(s)过渡到iPhone5(s)时,在逻辑上宽度不变高度稍高,之前旧的素材和布局通过AutoresizingFlexible简单适配即可运行得很好,但由于高宽比增大,上下两端出现黑粗边(典型如LaunchImage)。从分辨率的角度来看,除了需要提供LaunchImage这种满屏图,其他基本沿用二倍图(@2x);从屏幕尺寸角度来看,需要对纵向排版略加调整。

        从iPhone5(s)发展到iPhone6(+),由于高宽比保持不变,iOS对图标、图片、字体进行等比放大自适应,清晰度会有所降低。同时,绝对坐标布局会导致在大屏下出现偏左偏上的问题。从分辨率的角度来看,iPhone6沿用二倍图(@2x),但需为iPhone6+提供更高的三倍图(@3x);从屏幕尺寸角度来看,需要重新对UI元素尺寸和布局进行适配,以期视觉协调。

        (1)按宽度适配

        我们先来看一下iPhone4~6(+)的屏幕高宽比:

           iPhone4(s):分辨率960*640,高宽比1.5
           iPhone5(s):分辨率1136*640,高宽比1.775
           iPhone6:分辨率1334*750,高宽比1.779
           iPhone6+:分辨率1920*1080,高宽比1.778
        可粗略认为iPhone5(s)、6(+)的高宽比是一致的(16:9),即可以等比例缩放。因此可以按宽度适配
            fitScreenWidth= width*(SCREEN_WIDTH/320)
        这样,共有iPhone3/4/5、6、6+三组宽度,在iPhone6、6+下将按比例横向放大。

        (2)按高度适配

        在同样的宽度下,iPhone4(s)的屏高比iPhone5(s)低,若纵向排版紧张,可以iPhone5(s)为基准,按高度适配
            fitScreenHeight= height*(SCREEN_HEIGHT/568)
        共有iPhone3/4、5、6、6+四组高度,在iPhone3/4下将按比例纵向缩小,在iPhone6、6+下将按比例纵向放大。

        这里需要注意iPhone/iOS双环上网热点栏对纵向布局的影响:iPhone作为个人热点且有连接时,系统状态栏下面会多一行热点连接提示栏"Personal Hotspot: * Connection",纵向会下压20pt,[UIApplication sharedApplication].statusBarFrame高度变为40pt;当所有连接都断开时,热点栏消失,纵向高度恢复正常20pt。详情可参考《iPhone/iOS开启个人热点的纵向适配小结》。

        (3)按字体适配

        另外,iPhone的【设置】【通用】【辅助功能】中可以设置调节【更大字体】,APP也可以按字号适配
        例如适配表视图(UITableView:UIScrollView),无法左右滑动,因此无论字号缩放比例多大,横向都不应超过SCREEN_WIDTH。注意限定控件元素内容区域宽度以及间距,并设置适当的LineBreakMode。表视图支持上下滑动,因此纵向上的表格行高和内容区域高度可按字号缩放。

        对于纵向也不支持滑动的视图,在屏幕可见视区内排版时,最好不要随字号缩放,否则可能超出既定宽高。

    11.UI相对布局

        考虑到iPhone机型的多样性,不可能针对iPhone4(s)、5(s)、6、6+四种屏幕尺寸出四套视觉交互稿,也不要基于某一机型从上往下、从左往右给绝对标注,而应该关注subView在superView中的相对位置(EdgeInsets/Frame/Center)以及siblingView之间的偏移(Offset),尽量给出适合Autolayout的相对布局比例(理想情况是只给百分比)。假如交互按照iPhone5(s)下绝对标注,则在iPhone4(s)上可能挤出屏幕底部,而在iPhone6(+)上则可能横向偏左或纵向偏上。

        开发人员基于与屏幕边缘的间距(Margin/EdgeInsets),定位边缘处的控件(钉钉子)作为参照,然后基于控件尺寸和间隙进行相对计算排版。这样,若钉子移动,相邻控件将顺向偏移,不会因为局部调整而出现凌乱

        我们截取 iPhone5s QQ 文件助手列表中的文件cell,使用SketchMeasure 对其进行测量标注。


    打开[截图.png]文件,由于不包含 Sketch 图元对象,无法进行 measure 标注(提示:请在画板中使用该功能)。因此,第一步需要对要相对标注的各个UI元素进行对象化。依次 Insert Artboard 创建图层 frame、thumbnail、title、detail、source、button。

    选中整个cell的frame(bounds),进行 Measure size:width=640px(SCREEN_WIDTH),height=168px。默认横向尺寸和纵向参考线都居中导致标注重叠,将纵向参考线右移至合适位置;也可选中WIDTH标注图层中的text和label元素,在不移动参考线的前提下,利用鼠标局部移动标注字面量。

    (1)缩略图标

    • 在左侧边栏layer list中选中frame,再command选中文件类型缩略图对象thumbnail,进行 Measure spacing,丈量缩略图左侧相对frame的间距为24px。
    • 选中文件类型缩略图对象thumbnail,进行 measure size,由于正方形等宽为112px*112px,故横纵标注重叠无影响。thumbnail在frame中纵向整体居中,因此上下边距计算均摊即可,无需再给定标注。

    (2)传输按钮

    • 对 button 和 frame 进行 Measure spacing,丈量按钮右侧相对frame的间距为24px。
    • 选中按钮button进行 measure size,其宽高为144px*60px。横纵标注重叠影响视觉,将纵向参考线右移至合适位置。
    • button在frame中纵向整体居中,因此上下边距计算均摊即可,无需再给定标注。

    (3)文件信息

    • 对thumbnail和detail(title、source等宽且左对齐)进行 Measure spacing,丈量图标右侧相对detail的间距为20px;对button和detail进行 Measure spacing,丈量按钮左侧相对detail间距为20px。这样,左侧钉住thumbnail,右侧钉住button,中间信息部分的宽度无需给定,计算被动约束的横向余量即可。具体编程时,调用 sizeWithFont/boundingRectWithSize 可动态计算每行 label 的自然宽度,一般title都会超过约束宽度,因此需设置 lineBreakMode指定Wrapping省略或Truncating截断格式。
    • 选中文件信息第1行标题title和第2行详情detail,进行 Measure spacing,测量纵向相对间距10px;第2行详情detail和第3行来源的纵向相对间距也为10px。一般 UILabel 的文本在给定字体下的纵向自然显示无约束,调用 sizeWithFont/boundingRectWithSize 可动态计算每行 label 的自然高度,title的上间距和source的底间距无需给定,通过计算纵向余量均摊即可。

        可简单的基于屏宽横纵比例进行scale缩放,将以上测量出的标注应用到iPhone6(+)大屏下,当然交互设计工程师最好还是针对特定机型都给定适配标注。苹果在WWDC2012 iOS6中已提出了Auto Layout的概念,即使用约束条件来定义视图的位置和尺寸,以适应不同尺寸和分辨率的屏幕。

    12.DEPRECATED API适配

        最后,除了对屏幕尺寸和分辨率进行适配之外,还需对iOS SDK中相关的DEPRECATED API进行适配。典型的如:

        (1)UILineBreakMode->NSLineBreakMode
        (2)UITextAlignment->NSTextAlignment
        (3)sizeWithFont:->boundingRectWithSize:
        (4)stretchableImageWithLeftCapWidth:topCapHeight:->resizableImageWithCapInsets:

        (5)...


    参考:

    iOS设备的屏幕尺寸、分辨率及其屏幕边长比例
    iOS判断设备屏幕尺寸、分辨率
    iOS8中的UIScreen
    Detecting iPhone 6/6+ screen sizes in point values
    iOS8已出,@3x图让我们何去何从?
    在Xcode 6中用矢量化PDF(vectorized PDF)来支持各种尺寸的iPhone
    iOS8适配须知
    适配iOS8备忘录
    《iOS界面适配()()()》
    iPhone 6/6+适配心得
    iOS8/Xcode6/iPhone6(+)适配
    APP适配iOS8,iPhone6(+)截图简要说明
    按比例快速兼容适配iPhone6/6 Plus
    iOS的APP如何适应iPhone 5s/6/6+三种屏幕的尺寸?


    展开全文
  • iPhone资料】历代iPhone参数

    千次阅读 2018-10-15 12:19:05
    从功能机时代跨过智能机时代,从2G时代越过4G时代,从诺基亚黑莓老牌手机厂商为主导的时代来到如今百花齐放、百家争鸣的时代,不断变化的iPhone以卓越的做工设计和流畅的生态系统为整个行业树立新的标杆。...

    从功能机时代跨过智能机时代,从2G时代越过4G时代,从诺基亚黑莓老牌手机厂商为主导的时代来到如今百花齐放、百家争鸣的时代,不断变化的iPhone以卓越的做工设计和流畅的生态系统为整个行业树立新的标杆。在这十年间,iPhone又是如何蜕变的呢?小为为大家图说iPhone的十年成长史。

    iPhone 历代参数对比

     

    上市时间

    处理器

    系统

    RAM

    ROM

    摄像头

    分辨率

    屏幕尺寸

    iPhone(初代)

    2007.6.29

    ARM11

    iPhoneOS 1.0

    128MB

    4GB/8GB/16GB

    后置200

    320x480

    3.5英寸

    iPhone 3G

    2008.7.11

    ARM11

    iPhoneOS 2.0

    128MB

    8GB/16GB

    后置200

    320x481

    3.5英寸

    iPhone 3GS

    2009.6.19

    ARM Coretex A8

    iPhoneOS 3.0

    256MB

    8GB/16GB/32GB

    后置300

    320x482

    3.5英寸

    iPhone 4

    2010.6.24

    A4

    iOS 4.0

    512MB

    8GB/16GB/32GB

    后置500+前置30

    960x640

    3.5英寸

    iPhone 4s

    2011.10.14

    A5

    iOS 5.0

    512MB

    8GB/16GB/32GB

    后置800+前置30

    960x641

    3.5英寸

    iPhone 5

    2012.9.21

    A6

    iOS 6.0

    1GB

    16GB/32GB/64GB

    后置800+前置120

    1136x640

    4英寸

    iPhone 5c

    2013.9.20

    A6

    iOS 7.0

    1GB

    8GB/16GB/32GB

    后置800+前置120

    1136x641

    4英寸

    iPhone 5s

    2013.9.20

    A7

    iOS 7.0

    1GB

    16GB/32GB/64GB

    后置800+前置120

    1136x642

    4英寸

    iPhone 6/6 Plus

    2014.9.19

    A8

    iOS 8.0

    1GB

    16GB/32GB/64GB/128GB

    后置800+前置120

    1334x750

    4.7英寸

    1920x1080

    5.5英寸

    iPhone 6S/6S Plus

    2015.9.25

    A9

    iOS 9.0

    2GB

    16GB/32GB/64GB/128GB

    后置1200+前置500

    1334x750

    4.7英寸

    1920x1080

    5.5英寸

    iPhone SE

    2016.3.24

    A9

    iOS 9.3

    2GB

    16GB/32GB/64GB/128GB

    后置1200+前置500

    1136x640

    4英寸

    iPhone 7/7 Plus

    2016.9.16

    A10

    iOS 10.0

    2GB

    32GB/128GB/256GB

    后置1200+前置700

    1334x750

    4.7英寸

    3GB

    后置1200(广角、长焦)+前置700

    1920x1080

    5.5英寸

    iPhone 8/8Plus

    2017.9.13

    A11

    iOS 11.0

    2GB

    64GB/256GB

    后置1200+前置700

    1334x750

    4.7英寸

    3GB

    后置1200(广角、长焦、双镜头)+前置700

    1920x1080

    5.5英寸

    iPhone X

    2017.9.13

    A11

    iOS 11.0

    3GB

    64GB/256GB

    后置1200(广角、长焦、双镜头)+前置700

    2436x1125

    5.8英寸

    iPhone XS/XS MAX

    2017.9.13

    A12

    iOS 12.0

    3GB

    64GB/256GB/512GB

    后置1200(广角、长焦、双镜头)+前置700

    2436x1125

    5.8英寸

    后置1200(广角、长焦、双镜头)+前置700

    2688x1242

    6.5英寸

    iPhone XR

    2017.9.13

    A12

    iOS 12.0

    2GB

    64GB/128GB/256GB

    后置1200+前置500

    1792x828

    6.1英寸

    (每一代iPhone性能的参数对比)

     

    从某种程度上说,iPhone给中国市场带来了一种阶层式“标签”运动。各大厂商争相追赶,从某种方面来说,

    苹果的确给中国市场带来了翻天覆地的变化,让我们期待苹果即将揭晓的产品,是否还能再一次改变世界呢?

    展开全文
  • 很多用户iPhone空间告急了,去清理空间的时候会发现,无论如何清理,都有一大块会被“其他”占用,怎么清理都不会变少。网上搜索也找不到很好的解决方案,问题依然存在。我遇到iPhone空间不足这个问题的时候,也是每...

    很多用户iPhone空间告急了,去清理空间的时候会发现,无论如何清理,都有一大块会被“其他”占用,怎么清理都不会变少。网上搜索也找不到很好的解决方案,问题依然存在。我遇到iPhone空间不足这个问题的时候,也是每一种方法都去试了,前面几个方法对我用处不大(或许对你有用,所以还是可以一试的)最后才通过从iCloud备份恢复,成功要回来4G左右,50%,还是没完全要回来,希望有大牛能提供彻底解决的办法。如果你已经尝试过前面几种,可以通过目录直接跳到最后一种iPhone其他空间清理方法。

    目录

    如何清理iPhone"其他"空间内存

    iPhone"其他"空间大作战之甲:清除Safari网站数据

    iPhone"其他"空间大作战之乙:清除微信缓存和聊天数据

    iPhone"其他"空间大作战之丙:删除应用

    iPhone"其他"空间大作战之丁:删除照片与视频

    iPhone"其他"空间大作战之戊:彻底抹掉内容与设置


    如何清理iPhone"其他"空间内存

    iPhone其他空间清理2
    经过甲乙丙丁四步清除后的界面截图,不是最原始的空间情况

    如图所示,在彻底释放iPhone其他空间之间,其与空闲空间差不多,约7.5G左右。下面将通过一步步地清理,释放这些iPhone空间内存。

    iPhone"其他"空间大作战之甲:清除Safari网站数据

    经过常年累月的使用,Safari可能缓存了数量惊人的数据。以下是清理步骤:打开设置选项下的“Safari浏览器”,在Safari菜单的底部找到“清除历史记录与网站数据”。这一步未保存截图。有人指出,语音备忘录App里的录音也可能占用很多空间,可前去删掉没用的录音文件。

    iPhone"其他"空间大作战之乙:清除微信缓存和聊天数据

    微信是占用空间的大头,但他的空间应该是记入应用里。是否有部分记入其他类别,不得而知。不管三七二十一,试试看。从最后结果来看,应该是没记入iPhone其他类别的。下面是清理步骤:

    1. 进入iPhone的【微信】,进入【我】,点击【设置】,点击【通用】,进入【存储空间】,可以看到微信现在占用了手机的多少空间。
    2. 点击【清理微信缓存】,这样微信的缓存就被清理了。
    3. 点击【管理微信聊天数据】,可以看到和每个人或每个群的聊天记录占用了多少空间。选择想要清理的聊天记录,点击【删除】。这个就可以删除整个聊天记录,释放空间了。

    iPhone"其他"空间大作战之丙:删除应用

    这一方法很直接,直接进入设置》通用》iPhone储存空间,所有应用会按照占用空间的大小显示,找到你不再需要的应用,点击进入,就可以选择删除应用还是卸载未使用的应用。但后者仅删除应用,数据和文稿会保留,对我们的目标任务不利。建议直接删除不需要的APP。

    iPhone"其他"空间大作战之丁:删除照片与视频

    这是最难但也是见效最快的。花点时间,删除掉不用的照片和视频,或者转移到其它网盘保存。打开iCloud.com,点击“照片”图标,然后慢慢挑选你不要的图片或视频,点击删除图标。它会同步删除在所有关联设备里的照片或视频。

    iPhone"其他"空间大作战之戊:彻底抹掉内容与设置

    通过以上甲乙丙丁的操作,我的iPhone其他占用空间依然很大。这促使我祭出绝招:彻底抹掉不需要的数据。因为我相信iCloud是不会备份无用数据的。但这一步也是很危险的,一旦抹掉了就再也找不回来了。所以大家如果真的来到这一步,一定要确保所以资料已经备份好。切记!切记!

    第一步:确保你有可用于恢复的最新备份。前往“设置”>“[您的名字]”>“iCloud”>“iCloud云备份”(这是根据iOS 12的路径,不同系统可能有不同路径), 查看最新备份的日期。

    第二步,建议将设备更新到最新版本。在 iOS 设备上,前往“设置”>“通用”>“软件更新”。

    第三步,在确保万无一失的情况下,从iCloud中恢复你的iPhone备份应用与数据。前往“设置”>“通用”>“还原”,然后轻点“清除所有内容和设置”。

    第四步,抹掉后重新设置的时候,在“应用和数据”屏幕上,轻点“从 iCloud 云备份恢复”,然后登录 iCloud。前往“选取备份”,然后从 iCloud 中的可用备份列表中选取。等待一段时间后,你将得到一部“新”的iPhone,但又可以像往常一样使用你的iPhone。iPhone云端恢复还是挺好使的。 

    建议:在备份之前,在iCloud界面,点击“管理储存空间”》备份》点击你的iPhone名称,确保“选取要备份和数据”列表里没有微信。因为它太占空间了!下面是我做完这一步释放了一半的iPhone其他空间。还是有点用的。

    iPhone其他空间清理1
    抹掉所有数据恢复后的空间占用情况

     

    好的,清理iPhone其他类别空间到这里,算是尽力了,希望能看到更有力有解决方案。如果有用,请点赞。谢谢!

    展开全文
  • Vieux-部分型号iPhone\iPad\iPod降级工具使用教程 此Blog简述了如何使用开源项目Vieux给部分型号iPhone\iPad\iPod降级。 支持的设备 iOS10.3.3 iPhone 5s, iPad Air, iPad Mini 2 (其中iPad4,6不支持) ...
  • iphone一共同拥有三种工作模式,各自是正常模式,恢复模式和DFU模式。 DFU的全称是Development FirmwareUpgrade,实际意思就是iPhone固件的强制升降级模式。  普通情况下,正常无法恢复...
  • 可能你听说iPhone的DFU模式,DFU的全称是Development Firmware Upgrade,实际意思就是iPhone固件的强制升降级模式。例如,在你降级iPhone固件的时候,如果出现过错误(1)或者错误(6),那么在你恢复或者降级固件的...
  • DFU的全称是Development FirmwareUpgrade,实际意思就是iPhone固件的强制升降级模式。而恢复模式则是屏幕上会显示iTunes和数据线图标的。 两种最大的区别是DFU模式没有启动MAC OS系统,itunes无法决定iPhone的...
  • 本人手机是 iphone6 plus,因荧屏坏了无法使用,但主板没坏,只是看不到内容。所以不小心点到解锁界面太多次导致停用了,无可奈何去修完回来以后,才对手机进行了恢复停机的操作。 首先,需要一台电脑,并安装了 ...
  • iPhone11拆解图前几天啊iPhone11发布,据了解现在预订量好大啊,可能大家忘了iPhone11用的是什么基带,今天小宅宅给大家分享一下iPhone11内部拆解图...
  • 本人iphone X 昨晚手机告知我满内存了,我就删了几个软件,还觉得有点卡,就关机重启,结果就卡白苹果了!(就是开机亮白苹果,过一会黑一下,又开始亮白苹果) 连接电脑也没反应 具体原因不得而知,可能是满内存...
  • 前端iPhone刘海屏适配

    万次阅读 2020-05-22 15:12:32
    对于iPhone系列出的越来越多,如果只是使用@media来做适配的话,老代码想要适配新机型还是有一定局限性的。 今天去搜了搜相关的解决方法,那么就来总结一下。 安全区 早期苹果对于 iPhone X 的设计布局意见如下: ...
  • 如何设置并将你的iWatch和iPhone配对

    万次阅读 2015-04-26 12:24:41
    如何设置并将你的iWatch和iPhone配对  一旦你买到一个iWatch,打回家并拆封,下面教你如何设置。  iWatch是这样一个装置,它被设计出来和你的iPhone一起使用。它可以说是一个iPhone配件,它们的关系非常亲密。这也...
  • 上图为先苹果所有设备屏幕尺寸,可以看到最新的iPhoneXS和去年的iPhoneX尺寸一样,iPhoneXR和iPhoneXSMax屏幕尺寸一样,不一样的是iPhoneXR为@2先倍图,图片这些不用管,只要名字后缀命名好就行。 今年当苹果发布新...
  • 今天凌晨苹果新发布了三款手机,分别是iPhone XS,iPhone XR,iPhone XS Max,其中iPhone XS的屏幕尺寸和iPhone X的是一致的,另外两款都有了新的尺寸,具体尺寸如下 具体原理性的东西就多说了,因为iPhoneX系列...
  • iPhone 4 iPhone3,2 iPhone 4 iPhone3,3 iPhone 4 iPhone4,1 iPhone 4S iPhone5,1 iPhone 5 iPhone5,2 iPhone 5 iPhone5,3 iPhone 5c iPh...
  • 1、搜iPhone配置实用工具,下载后还需要有下载ituns,然后直接进配置实用工具删了就行了! 2、还有一种笨方法就是恢复出厂设置,不过这个比较麻烦,还要备份的。 3、以上的办法太复杂,强烈推荐手机上直接操...
  • 通过iPhone XR打开微信小程序的时候,微信突然提示“运行内存不足导致该小程序无法使用”,然后点击“确定”按钮之后,就关闭了,而且查看手机内存128G的还剩下70G没有使用,后来回想一下,一直没有清理微信的缓存,...
  • iphone各个型号屏幕分辨率总结

    万次阅读 2018-02-27 15:57:34
    iPhoneiPhone 1G 320x480iPhone 3G 320x480iPhone 3GS 320x480iPhone 4 640x960iPhone 4S 640x960iPhone 5 640x1136iPhone 5S 640x1136iPhone 5C 640x1136iPhone 6 750x1334iPhone 6 Plus 1080x1920 (开发应按照...
  • 本文主要面向的群体:是网易云音乐的忠实爱好者,同时又是被iphone的文件权限限制不能添加播放其他音频的的人 注意:本文方法只是将音频文件添加到网易云音乐的客户端中,并不是在需要播放音乐时选择用网易云音乐...
1 2 3 4 5 ... 20
收藏数 328,337
精华内容 131,334
关键字:

iphone