精华内容
下载资源
问答
  • iOS 屏幕尺寸、分辨率、适配、UI规范

    .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.0 mm)

    5.44 inches (138.1 mm)

    4.7-inch

    375x667

    @2x

    750x1334

    326

    6+

    3.06 inches (77.8 mm)

    6.22 inches (158.1 mm)

    5.5-inch

    414x736

    @3x

    (1242x2208->)

    1080x1920

    401 

    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=1.0。因此,使用该方法,无需特意指定高倍图后缀。在实际运行时,系统如果发现当前设备是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),定位边缘处的控件(钉钉子)作为参照,然后基于控件尺寸和间隙进行相对计算排版。这样,若钉子移动,相邻控件将顺向偏移,不会因为局部调整而出现凌乱

        苹果在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+三种屏幕的尺寸?
    展开全文
  • iOS 设备的UI规范和iOS各控件默认高度

    iOS设备的UI 规范

    iPhone界面尺寸

    这里写图片描述

    这里写图片描述


    iPhone图标尺寸

    这里写图片描述

    这里写图片描述


    iPad的设计尺寸

    这里写图片描述

    这里写图片描述


    iPad图标尺寸

    这里写图片描述

    这里写图片描述


    iPhone设备尺寸分辨率比例

    这里写图片描述


    iPhone各设备 launch image

    这里写图片描述


    iOS 各种控件默认高度

    状态栏

    状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用。如下图

    这里写图片描述

    用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明的黑色。

    如果需要隐藏状态栏可以使用调用:
    [[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
    或者在应用程序文件Info.plist中将UIStatusBarHidden键设为ture。

    导航栏

    在纵向模式下导航栏为44像素高,在横向模式下为32像素高,导航栏提供了一个很少用的提示模式,该模式将高度扩展了30像素,在纵向模式下为32074像素,在横向模式下为48074像素。
    要向导航栏添加提示,则设置self.navigationItem.prompt = @"…"。

    这里写图片描述

    选项卡/工具栏

    选项卡为48像素高,工具栏为44像素高。此两个UI元素通长不用于横向模式。

    这里写图片描述

    典型的带有导航栏和状态栏的应用程序为纵向显示保留了320416的区域,为横向保留了480268的区域。如果使用选项卡栏或者工具栏则会使高度再次减少48或者44像素。

    键盘和pickerView

    此一般都为横向320216像素,纵向为480162像素。
    另外,UISwitch默认为94*28像素,UISegmentedControl通长为44像素高。
    UITextField高度一般至少为30像素。

    UIScreen类

    [[UIScreen mainScreen] applicationFrame]一般会根据正在使用的工具栏,状态栏,导航栏来返回可用的区域。

    控件列表

    iPhone和iPad下各种常见控件的宽度和标准是一样的,所以这里就用iPhone说明。

    以下是常见的几种控件的高度。Statusbar,Navigationbar和Tabbar的宽度极其图标大小。

    这里写图片描述

    下表是更为详细的参数,包括了Statusbar,Navigationbar、Tabbar、toolbar和Keyboard等等

    这里写图片描述

    参考资料:
    UI 设计平台规范
    iOS 各种控件默认高度(图示)

    展开全文
  • 游戏UI规范

    千次阅读 2019-02-25 22:39:00
    在满足效果的前提下,尽量做到UI资源做到复用和最小化 1、 背景1和背景2分开切,可以组合成各种不同的面包背景图 2、 背景1和背景2在没有花纹的情况下,中间纯色的部分切4个像素做就公共个缩放就可以了,无需切...

    在满足效果的前提下,尽量做到UI资源做到复用和最小化

    1、  背景1和背景2分开切,可以组合成各种不同的面包背景图

    2、  背景1和背景2在没有花纹的情况下,中间纯色的部分切4个像素做就公共个缩放就可以了,无需切这么大,没渐变和花纹的都用九宫格缩放。

     

    3、左右对称或(含左右)聊天框背景等的花纹背景,切一个即可,程序可自行旋转

    4按钮中的文字,如果不是艺术字体,程序可以自己组合,单独切按钮背景图片即可, 类似的这种方框都可以利用拉伸,可不必切过长。

    5、无特殊的文本无需给图,美术给个字体参数(颜色值和渐变参数,大小等)即可

    6、去掉不必要的部分

    注意:

    1、尽量图片大小为2的次方大小,比如:2,4,8,16,32….,不能是2的次方,就给偶数大小。

    2、特效、模型、场景贴图必须为2的次方

    3、不是半透膜的图片,美术做的过程中去掉A通道

    4、图片大小不要超过1024x1024

    5、  重要的事情说三遍:九宫格缩放,九宫格缩放,九宫格缩放

    转载于:https://www.cnblogs.com/allyh/p/10434397.html

    展开全文
  • 蚂蚁金服UI规范

    2018-05-16 15:21:04
    AntD_Library_V2.01.rplib
  • 微信小程序UI规范

    千次阅读 2018-09-01 17:31:15
    微信小程序设计的基本原则是微信设计中心针对在微信类上线的小程序页面总结的设计指南及建议。...微信小程序UI规范-设计/UI-小程序社区-微信小程序-微信小程序开发社区-小程序开发论坛-微信小程序联盟

    微信小程序设计的基本原则是微信设计中心针对在微信类上线的小程序页面总结的设计指南及建议。以下设计原则都是基于对用户的尊重的基础上的,旨在微信生态类建立有号、高效、一致的用户体验的同时,最大程度顺应和支持各业务需求设计,实现用户与程序的共赢。

    一、有好礼貌

    为了避免用户在微信中使用小程序服务时,注意力被周围复杂环境干扰,小程序哎设计时应该注意减少无关的设计元素对用户目标干扰,礼貌地向用户展示程序侧提供的服务,友好地引导用户进行操作。

    1. 重点突出
    每个页面都应有明确的重点,以便于用户每进入一个新页面的时候都能快速地理解页面内容,在确定了重点的前提下,应尽量避免页面上出现其他干扰项影响用户的决策和操作。

    反例示意
    此页面的主题是查询,却添加了诸多与查询不相关的业务入口,与用户的预期不符,易造成用户的迷失。

    纠正示意
    去掉任何与用户目标不相关的内容,明确页面主题,在技术和页面控件允许的前提下提供有助于用户目标的帮助内容,比如最近搜索词,常用搜索词等。

    反例示意
    操作没有注册,让用户无从选择

    纠正示意
    首先要避免并列过多操作让用户选择,在不得不并列多个操作时,需区分操作主次,减轻用户的选择难度。

    2. 流程明确
    为了让用户顺畅地使用页面,在用户进行某一个操作流程时,应避免出现用户目标流程之外的内容而打断用户。
    反例示意
    用户本打算进行搜索,在进入页面时却被突如其来的抽奖弹窗所打断;对于抽奖没有兴趣的用户是非常不友好的干扰,平添一份对开发团队的恼怒;而即使有部分用户确实被“诱人”的抽奖活动所吸引,离开主流程去抽奖之后可能就遗忘了原本的目标,进而失去了对产品真正价值的利用和认识。

    二、清晰明确

    作为一个负责任的开发者,一旦用户进入我们的小程序页面,就有责任和义务清晰明确告知用户身在何处、又可以往何处去,确保用户在页面中游刃有余地穿梭而不迷路,这样才能为用户提供安全的愉悦的使用体验。

    1. 导航明确,来去自如
    导航是确保用户在网页中浏览跳转时不迷路的最关键因素。导航需要告诉用户,我在哪,我可以去哪,如何回去等问题。首先在微信系统内的所有小程序的全部页面,均会自带微信提供的导航栏,统一统一解决我在哪,如何回去的问题。在微信层级导航保持体验一致,有益用户在微信内形成较为统一的体验和交互认知,无需在各小程序和微信切换中新增学习成本或使用习惯。

    微信导航栏
    微信导航栏,直接继承于客户端,除导航栏颜色之外,开发者无需亦不可以对其中的内容进行自定义。但开发者需要规定小程序各个页面的跳转关系,让导航系统能够以合理的方式工作。
    微信导航栏分为导航区域、标题区域以及操作区域。其中导航区控制程序页面进程。目前导航栏分深浅两种基本配色,在iOS和Android展示有所不同,如下图所示:

    导航区(iOS)
    导航区通常只有一个操作,即返回上一级界面。开发者可定义其内容,不可对样式进行修改。

    导航区(Android)
    通常情况下,系统导航左侧唯一的操作为“离开小程序,回到微信,程序后台运行”。
    当用户进入小程序次级页面后,我们建议小程序自身可以设计返回操作,同事用户也可以通过安卓系统自带的硬件返回按钮返回上一级。

    微信导航栏自定义颜色规则(iOS和Android)
    小程序导航栏支持基本的背景颜色自定义功能,选择的颜色需要在满足可用性前提下,和谐搭配微信提供的两套主导航栏图标。建议参考以下选色效果:
    选色方案示例:

    页面内导航
    开发者可根据自身功能合计需要在页面内添加自有导航。并保持不同页面间导航一致。但是受限于手机屏幕尺寸的限制,小程序页面的导航应尽量简单,若仅为一般线性浏览的页面建议仅使用微信导航栏即可。
    微信控件库提供tab导航供开发者选择。tab栏可固定在页面顶部或者底部,便于用户在不同的tab页面间作切换。为确保点击区域,tab项不得超过4项。一个页面也不应出现一组以上的tab栏。

    2. 减少等待,反馈及时
    页面的过长时间的等待会引起用户的不良情绪,使用微信小程序项目提供的技术已能很大程度缩短等待时间。即便如此,当不可避免的出现了加载和等待的时候,需要予以及时的反馈以舒缓用户等待的不良情绪。
    启动页设计
    小程序启动也是小程序在微信内容一定程度上展现品牌特征的页面之一。
    本页面将突出展示小程序品牌特征和加载状态。
    启动页除LOGO品牌展示外,页面上的其他所有元素如加载进度指示,由微信统一提供且不能更改。无需开发者开发。

    下拉标示区
    微信类所有小程序页面,都会再下拉时出现微信为其统一设计的标示区。品牌展示区由品牌名称和微信小程序提示组成。目的是强化品牌和用户对小程序的产品感知。

     

    下拉标示(iOS深浅两色方案)
    微信提供深浅两套配色方案,如此处标示所示,文字颜色不可自定义,开发者在自定义背景色时,应注意保证下拉标示的辨识度。

    下拉标示(Android深浅两色方案)
    微信下拉提示用于给用户明确的小程序归属者,防止造假与作弊。此处标示提供深浅两套方案,文字颜色不可自定义,开发者在自定义背景色时,应注意保证下拉标示的辨识度。
    页面刷新交互(iOS)
    开发者可自定义需要通过下拉交互完成刷新的页面,此类交互微信将提供标准能力和样式。在样式上,刷新图标与下拉标示配色已捆绑,分为深浅两套方案,开发者在使用时,应注意头部文字、下拉标示与刷新图标的和谐统一。但用户在该类页面做出下拉交互时,出现微信小程序页面标准加载动画。开发者无需自行开发样式。
    在开发者没有在页面顶部设计tab的情况下,若定义该页面可通过下拉动作刷新,则刷新后加载状态提示语小程序品牌展示区出现在标题栏之下,页面顶部。
    开发者暂无法执行定义此加载效果。

    在开发者定义了页面顶部tab并定义该Tab下的内容页面可通过下拉动作刷新,则刷新后加载状态提示语小程序品牌展示区出现在顶部Tab之下,且仅刷新当前页面内容。开发者暂无法自行定义此加载效果。

    页面刷新交互(Android)
    与iOS相同,在样式上,Android下刷新图标与下拉标示配色已捆绑,分为深浅两套方案,开发者在使用时,应注意头部文字、下拉标识与刷新图标的和谐统一。
    微信下拉标示错误使用案例
    请避免以下错误使用情况,确保信息的可见性和页面的可用性。

    页面内导航
    微信控件库提供深浅tab导航方案供开发者选择。tab栏需固定在页面顶部,便于用户在不同的tab页面间作切换。为确保点击区域,tab项不得超过4项。一个页面也不应出现一组以上的tab栏。
    Tab栏选中态默认为100%实色,未选中态带有60%,其中选中态颜色可自定义。在自定义颜色选择中,务必保持Tab的可用性、可视性和可操作性。

    页面内加载反馈
    开发者可在小程序里自定义页面内容的加载样式。建议不管是使用在局部还是全体,自定义加载样式都应该尽可能简洁,并使用简单动画告知用户加载过程。开发者也可以使用微信提供的,统一的页面加载样式,如图中例所示。

    模态加载
    模态的加载样式将覆盖整个页面的,由于无法明确告知具体加载的位置或内哦让那个将可能引起用户的焦虑感,因此应谨慎使用。除了在某些全局性操作下不要使用模态的菊花。

    局部加载反馈
    即旨在触发加载的页面局部进行反馈,这样的反馈机制更加有针对性,页面改动小,是微信推荐的反馈方式。例如:

    加载反馈注意事项

    • 若加载时间较长,应提供取消操作,并使用进度条显示载入的进度。
    • 载入过程中,应保持动画效果;无动画效果的加载很容易让人产生该界面已经卡死的错觉。
    • 不要再同一个页面使用超过1个加载动画。

    结果反馈
    除了在用户等待的过程中需予以及时反馈外,对操作的结果也需要予以明确反馈。根据实际情况看,可选择不同的结果反馈样式。对于页面局部的操作,可在操作区域予以直接反馈,对于页面级操作结果,可使用toast、弹窗或结果页面展示。
    页面局部操作结果反馈
    对于页面局部的操作,可在操作区域予以直接反馈,例如点击多选控件前后如下图。对于常用控件,微信设计中心已提供控件库及WeUI控件库,其中的控件都已设计有完整的操作反馈。

    页面全局操作结果——toast
    其中toast适用于轻量级的成功提示,1.5秒后自动消失,并不打断流程,对用户影响较小,适用于不需要强调成功专题的操作提醒。特别注意toast形式不适用于任何错误提醒。

    页面全局操作结果——弹框
    对于需要用户明确知晓的操作结果状态可通过弹框来提示,并可附带下一步操作指引。

    页面全局操作结果——结果页
    对于操作结果已经是当前流程的终结的情况,可使用操作结果页来反馈。这种方式最为强烈和明确的告知用户操作已经完成,并可根据实际情况给出下一步操作的指引。

    3. 异常可控,有路可退
    在设计任何的任务和流程时,异常状态和流程往往容易被忽略,而这些异常场景往往是用户最为沮丧和需要帮助的时候,因此需要格外注意异常状态的设计,在出现异常时予以用户必要的状态提示,并告知解决方案,使其有路可退。
    要杜绝异常状态下,用户莫名其妙又无处可去,卡在某一个页面的情况。2.2中所提到的弹窗和结果页面都可作为异常状态的提醒方式。除此之外,在表单页面中尤其是表单项较多的页面中,还应明确指出出错项目,以便用户修改。
    异常状态——表单出错
    表单报错,在表单顶部告知错误原因,并标识出错误字段提示用户修改。

     

    三、便捷优雅

    从PC时代的物理键盘鼠标到移动端时代手指,虽然输入设备极大精简,但是手指操作的准确性却大大不如键盘鼠标精确。为了适应这个变化,需要开发者在设计过程中充分利用手机特性,让用户便捷优雅的操控界面。

    1. 减少输入
    由于手机键盘区域小且密集,输入困难的同时还易引起输入错误,因此在设计小程序页面时因尽量减少用户输入,理由现有接口或其他一些易于操作的选择控件来改善用户输入的体验。
    减少输入,巧用接口
    例如下图中,在添加银行卡时,采用摄像头识别SDK接口来帮助用户输入。除此之外微信团队还对外开放例如地理位置接口等多种SDK接口(详见微信JS-SDK),充分利用这些接口将大大提高用户输入的效率和准确性,进而优化体验。

    除了利用接口外,在不得不让用户进行手动输入时,应尽量让用户做选择而不是键盘输入。一方面,回忆易于记忆,让用户在有限的选项中做选择通常来说是容易于完全靠记忆输入;另一方面,仍然是考虑到手机键盘密集的单键输入极易造成输入错误。例如图中,在用户搜索时提供搜索历史快捷选项将帮助用户快速进行搜索,而减少或避免不必要的键盘输入。

    2. 避免误操作
    一位内在手机上我们通过手指触摸屏幕来操控界面,手指的点击精确度远不如鼠标,因此在设计页面上需点击的控件时,需要充分考虑到其热区面积,避免由于可点击区域过小或过于密集而造成误操作。当简单的将原本在电脑屏幕上使用的界面不做任何适配直接移植到手机上时,往往就容易出现这样的问题。由于手机屏幕分辨率各不相同,因此最适宜点击像素尺寸也不完全一致,但换算成物理尺寸后大致是在7mm-9mm之间。在微信提供的标准控件库中,各种控件均已考虑到了页面点击效果以及不同屏幕的适配,因此再次推荐使用或模仿标准控件尺寸进行设计。

    3. 利用接口提升性能
    微信设计中心已推出了一套网页标准控件库,包括sketch设计控件库和WeUI重构代码库,这些控件都已充分考虑了移动端页面的特点,能够保证其在移动端页面上的可用性和操作性能;同事微信web开发团队也在不断完善和扩充微信JS-SDK接口,并提供微信公共库,利用这些资源不但能够为用户提供更加快捷的服务,而且对页面性能的提高有极大作用,无形之中提升了用户体验。

    四、统一稳定

    除了以上所提到的种种原则,建议接入微信的小程序还应该时刻注意不同页面间的统一性和延续性,在不同的页面尽量使用一致的控件和交互方式。
    统一的页面体验和有延续性的界面元素都将帮助用最少的学习成本达成使用目标,减轻页面跳动所造成的不适感。正因如此,小程序可根据需要使用微信提供的标准控件,以达到统一稳定的目的。

    五、视觉规范

    为方便设计师进行设计,微信提供一套可供Web设计和小程序使用的基础控件库;同时方便开发者调用。

    1. 字体规范
    常用字号为20,18,17,16,14,13,11(pt),使用场景具体如下:

    微信类字体的使用与所运行的系统字体保持一致,以导航为例,iOS与Android对应字体如下:
    导航(iOS和Android)

    字体颜色

    主内容Black黑色,次要内容Grey灰色;时间戳与表单缺省值Light灰色;大段的说明内容而且属于主要内容用Semi黑;

    蓝色为链接用色,绿色为完成字样颜色,红色为出错用色Press与Disable状态分别降低透明度为20%与10%;

    2. 列表视觉规范

    3. 表单输入视觉规范

    4. 按钮使用原则
    列表外按钮上文字标准
    按钮高度为44px下使用:颜色#000000 / #353535 字号18pt

    • 可点状态下文字调整透明度为60%
    • 不可点状态下文字调整透明度为30%

    列表外按钮上文字标准
    按钮高度为25px下使用:颜色#000000 / #353535 字号14pt
    页面线性按钮上文字标准
    按钮高度为35px下使用:颜色#09BB07 / #353535 字号16pt

    5. 图标使用原则

    作者:曾二**
    原文:微信小程序UI规范-设计/UI-小程序社区-微信小程序-微信小程序开发社区-小程序开发论坛-微信小程序联盟

    展开全文
  • iOS设备分辨率 UI规范 以及适配

    千次阅读 2016-12-05 11:00:13
    设计规范: http://www.ui001.com/article/302.html http://www.tuicool.com/articles/nEFRBnR 适配问题 现在开发iOS应用,多数系统适配iOS7-iOS10,机型适配iPhone4s-iPhone7Plus就可以了 这样我们...
  • ANDROID 启动图标大小 UI规范

    千次阅读 2018-05-16 13:16:47
    1.尺寸 一般,144,往下自动适配; 1.drawable-hdpi 72*72 2.drawable-mdpi 48*48 3.drawable-xhdpi 96*96 4.drawable-xxhdpi 144*144 ...5.drawable-xxxhdpi 192*192 ...dp是开发写layout的时候使用的尺寸单位,sp是...
  • Androiduipatterns网站针对android应用界面的设计提出了一些规范性的建议,可以参考参考 l  GridView实现主界面 2 实现的截图   3 主要实现代码 3.1 定义GridView GridView gridview = (GridView)...
  • UI设计规范UI设计规范

    2010-06-12 16:42:01
    UI设计规范UI设计规范UI设计规范UI设计规范UI设计规范
  • UI设计规范 UI设计规范 UI设计规范
  • UI设计规范-全文篇

    千次阅读 2019-05-24 15:48:04
    目录 UI设计规范 1 1. 界面规范 1 1.1. 总体原则 1 1.2. 原则详述 2 1.2.1. 用户控制 2 ...关于UI规范的几点意见 15 深圳UI设计交流QQ群:611531774 UI设计规范 1. 界面规范 1.1. 总体原则 l ...
  • UI尺寸规范

    2017-09-13 15:58:20
    UI尺寸规范: iOS 启动图尺寸
  • 到底什么是UI设计规范

    千次阅读 2017-07-28 14:17:50
    对于同一家公司的多个产品线来说,有一个统一UI规范,可以对多个产品在图标、主题色彩等方面进行规范,使得产品统一;多个UI设计师共同合作时,有一个既定的规则大家可以遵守,省得大家各做各的,做出来的东西不像一...
  • UI命名规范

    2019-04-29 02:02:00
    Ui控件汇总 按钮 ...UI命名规范 UI文字做好备份,方便后期维护修改 按钮命名规范:btn_ 第一个按钮就叫btn_01 第二个按钮就叫btn_02 ............ 菜单menu 下拉框ckb 文字txt 标题la...
  • UI : 2021年iOS/Android UI设计规范(1)

    万次阅读 多人点赞 2018-03-27 16:50:43
    切图规范 1、 iOS/Android 切图规范 2、 Android 切图规范 3、 切图文件命名规范 设计规范 1、UI设计规范整理汇总———界面尺寸、控件间距、版式设计、文字设计、设计适配、标注、切图(2018.06) 2、 iOS / ...
  • UI设计输出规范

    2019-03-20 13:02:44
    UI设计输出规范
  • 苹果UI设计规范

    2013-01-23 13:05:06
    苹果公司内部UI设计规范向导,包括mac系统设计和iso界面设计
  • 移动端UI尺寸规范

    千次阅读 2019-10-25 11:54:10
    iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸 iPhone界面尺寸 设备 分辨率 PPI 状态栏高度 导航栏高度 标签栏高度 iPhone...
  • 《移动端UI设计及规范 分分钟搞定App UI设计》针对具有Photoshop基础的人群,采用案例或任务驱动的方式,详细介绍了移动端UI设计的流程。
  • UI规范: iOS: 屏幕大小(单位为像素px): 4、4s:640*960 @2x 5、5s、5c:640*1136 @2x 6、6s、7:750*1134 @2x 6p、7p:标准模式:1242*2208 放大模式:1125*2001(即6的1.5倍) @3x 关于 .png、@2x.png、@3x....
  • UI设计规范说明书

    2013-08-06 15:06:49
    UI设计规范说明书
  • 成为优秀UI设计师,必须了解的UI设计规范

    千次阅读 多人点赞 2018-08-27 13:02:01
    今天带来的这些规范,可是成为优秀UI设计师必须知道的“纯干货”,还能让大家深刻了解UI设计规范(https://ds.mockplus.cn)的本质是什么。 图标规范 很多设计师以为UI设计就是设计图标。虽然事实并非如此,但图标...
  • Android UI 设计规范

    千次阅读 2020-01-10 12:00:10
    1. 基础常识 ... 现在,多数标注工具都支持 dp 标注功能,比如 MarkMan,如果UI设计者是按照1280*720的尺寸设计的效果图,在标注时选择xhdpi即可: 使用 MarkMan 进行 dp 标注 DP/PX在线转换工具: ...
  • WEB UI设计规范

    千次阅读 2015-01-16 23:40:53
    Web应用界面设计规范(Design Specification for Web UI) 主讲人:ARay 目录: 一、软件界面规范的重要性及其目的 二、用户体验为何如此重要 三、Web规范体系介绍 四、界面设计开发流程 五、应该遵循的基本...
  • UI设计规范

    千次阅读 2015-06-10 09:23:55
    规范篇 首先你需要学习的是三大平台的官方设计规范。 iOS开发者需要学习Android和WP平台的规范吗?需知,他山之石可以攻玉,在这些规范中都有一些理念是通用的,学习别家平台的设计可以为本平台的设计提供新思路。...
  • Web UI制作规范

    2012-06-12 20:38:00
    二、Web UI设计命名规范 2.1Web界面设计最佳尺寸 2.2网站设计及基本框架结构 2.3命名规则注意几点 2.4常用命名汇总 三、Web UI图片命名规范 四、Web基本框架布局规范 五、CSS样式书写规范及优化 5.1 ...
  • IOS APP UI设计尺寸规范

    热门讨论 2013-02-21 15:22:11
    IOS APP UI设计尺寸规范

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 117,903
精华内容 47,161
关键字:

ui规范