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空间不足这个问题的时候,也是每...

    很多用户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其他类别空间到这里,算是尽力了,希望能看到更有力有解决方案。如果有用,请点赞。谢谢!

    展开全文
  • iPhone11拆解图前几天啊iPhone11发布,据了解现在预订量好大啊,可能大家忘了iPhone11用的是什么基带,今天小宅宅给大家分享一下iPhone11内部拆解图...
        

    640?wx_fmt=png

    iPhone11拆解图

    640?wx_fmt=png

    前几天啊iPhone11发布,据了解现在预订量好大啊,可能大家忘了iPhone11用的是什么基带,今天小宅宅给大家分享一下iPhone11内部拆解图,详细告诉大家iPhone11是什么基带,基带是一个手机最核心的一个功能,如果没有好的基带手机信号会不好,这个大家肯定深有体会。

    640?wx_fmt=jpeg

    从上图拆解图可以看出iPhone11采用了双层主板设计,这一点从iPhone X开始便出现,算是延续。我们可以清楚看到基带是因特尔,Intel字样很明显,其中NAND闪存占用面积最大,其次为A13仿生芯片,可为iPhone 11提供强劲的性能,性能有多强我就不多说了,一张图告诉你有多强,只能说在坐的都是渣渣!

    640?wx_fmt=png

    英特尔已经放弃基带业务,并且英特尔的基带业务已经被苹果收购这个大家肯定是知道的,再加上苹果与高通达成和解,相信下一代iPhone会是高通基带,不过在iPhone的不断优化,基带性能也有所增强,当然如果和高通对比那肯定不如高通!

    640?wx_fmt=png

    iPhone11ProMax拆解图

    640?wx_fmt=png

    iPhone 11 Pro Max还是采用双层结构设计,也是延续了iPhoneX的设计结构, 主板面积最大的也是是NAND闪存,其次是A13处理器。该机使用的是英特尔XMM 7660基带。iPhone 11 Pro Max上行发射天线的性能有所改进,中频发射性能进步明显,但全频段仍然有负增益现象,总体表现还是可以的。

    640?wx_fmt=jpeg

    去年的iPhone Xs Max就因为信号问题遭到消费者的不满,现在来看iPhone 11 Pro Max的基带性要比iPhone Xs Max强不少,今年iPhone 11系列使用英特尔基带其实比较容易理解,因为苹果和高通和解的时间不长,iPhone 11肯定是赶不上高通基带的,因此也错过了在今年支持5G的机会,现在大家应该知道为什么iPhone11系列还不支持5G原因了吧!

    *广告小卡片*

    640?wx_fmt=png

    真香警告

    640?wx_fmt=png

    昨日,京东、天猫公布的预售战报显示,iPhone 11的销量走势看好。其中,京东商城公布了iPhone新品首发预售战报。iPhone 11系列关注用户超过1600万人,三款iPhone预约总量已超过百万,预售量同比去年增长480%,首单1秒内成交,iPhone 11 Pro系列5分钟告罄,最受欢迎的单品为iPhone 11 Pro暗夜绿色、iPhone 11黑色、iPhone 11紫色,天猫数据则显示,开售当晚,数百万消费者冲进天猫,一分钟成交破亿。其中iPhone 11 Pro 暗夜绿数度被抢空,苹果官方旗舰店连夜补货4次。

    640?wx_fmt=jpeg

    iPhone 11预售首天,同比iPhone XR首发增长335%,应了这个图了!

    640?wx_fmt=png

    资源更新

    640?wx_fmt=png

    恋爱话术,这个软件之前有个粉丝和我说要求上架,找了半天找到了这款修改版,无视任何vip权限,无任何广告,打开就能用,还不错。上图给大家看看,送给那些需要的人,热恋中的小伙子!

    640?wx_fmt=jpeg

    还有一款黑匣子app,可以解析很多视频,还能观影,也还不错,功能较多,喜欢就收下吧。

    640?wx_fmt=jpeg

    喜欢点这里表示赞同

    展开全文
  • 说起截长图,这应该是苹果用户心中的一个痛,因为关于截长图这个功能,安卓手机是非常容易做到的,但是苹果手机却还要使用一些第三方工具才能完成,那么今天就来和大家说一说苹果手机的几种截图方法。...
  • 作者|吴波来源|网易手机出品|网易智能2020年9月8日,苹果官方终于官宣确认今年秋季新品发布会时间,定档美国西部时间9月15日上午10点(北京时间9月16日凌晨1点),我们同样也收到来...
  • 本人手机是 iphone6 plus,因荧屏坏了无法使用,但主板没坏,只是看不到内容。所以不小心点到解锁界面太多次导致停用了,无可奈何去修完回来以后,才对手机进行了恢复停机的操作。 首先,需要一台电脑,并安装了 ...
  • 本人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...
  • 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 XR打开微信小程序的时候,微信突然提示“运行内存不足导致该小程序无法使用”,然后点击“确定”按钮之后,就关闭了,而且查看手机内存128G的还剩下70G没有使用,后来回想一下,一直没有清理微信的缓存,...
  • 本文主要面向的群体:是网易云音乐的忠实爱好者,同时又是被iphone的文件权限限制不能添加播放其他音频的的人 注意:本文方法只是将音频文件添加到网易云音乐的客户端中,并不是在需要播放音乐时选择用网易云音乐...
  • 使用iTunes的恢复模式将iPhone刷机恢复系统的时候,iTunes可能会一直卡在“正在等待iPhone”阶段,干等N久也不见动静。那遇到这种情况要怎么解决呢?快随小编一起来看看怎么解决这个一直卡“正在等待iPhone”的问题...
  • 最近入手了一部iPhone XR手机,但是对于没有home的苹果新机型,有点不适应。买国行的iPhone XR的目的就是看中它的双卡双待功能,毕竟iPhone XR的性价比最高,iPhone XS Max是有钱人的玩物,哈哈。 废话不多说,就...
  • iPhone屏幕投射到Mac的解决方案

    万次阅读 2015-10-27 00:16:39
    在实际的工作中,我们往往需要演示iPhone上面的程序,但是由于手机屏幕太小,无法同时给很多人看,这时候就需要进行屏幕投射。目前我需要实现的是投射到Mac上。我使用有线USB和无线Airplay两种方式分别来实现。 ...
  • iphone12 4款外观的区别 四款型号的电池容量分别为:iPhone 12 (5. 4 英寸) 2227mAh、iPhone 12 Max (6. 1 英寸) 2815mAh、iPhone 12 Pro (6. 1 英寸) 2775mAh,iPhone 12 Pro Max (6. 7 英寸) 3687mAh。 我用的...
1 2 3 4 5 ... 20
收藏数 328,239
精华内容 131,295
关键字:

iphone