【译】UI设计基础(UI Design Basics)--iOS应用解析(iOS App Anatomy)(三)

时间:2022-12-09 19:01:17

2.1  iOS应用解析(iOS App Anatomy)

  几乎所有的iOS应用都会用到UIKit框架中的组件。了解这些基础组件的名称,角色,功能可以帮你在应用界面设计时做出更好的决策。

【译】UI设计基础(UI Design Basics)--iOS应用解析(iOS App Anatomy)(三)

  UIKit提供的界面元素大概可以分为以下四大类:

  • 栏(Bar):栏包含可以告诉用户目前位置的上下文信息,以及帮助用户导航和操作的控件。
  • 内容视图(Content views):内容视图包含app相应的内容以及视图上的一些操作,如:滚动,插入,删除,排序等。
  • 控件(Controls):控件执行一些操作或者显示信息。
  • 临时视图(Temporary views):临时视图短暂的出现,给用户带来重要信息或额外的选择和功能

  除了定义UI元素,UIKit还定义一组实现如手势识别,绘图,辅助和打印支持功能的对象。

  从程序设计的角度上看,UI元素的类型其实是视图(view),因为都是继承于UIView。视图知道怎么把自己画到屏幕上,同时它也知道用户何时触碰到它的范围内。像控件(如按钮,滑块),内容视图(如集合视图,表格视图),还有临时视图(如警告提示,动作菜单)都是视图类型。

  为了在你的app上管理这一组或一系列视图,通常情况下你需要一个视图控制器(View Controller)。视图控制器定义视图显示的具体位置,实现与用户交互的功能,也可以管理不同屏幕间的切换。例如:“设置”使用了一个导航控制器(Navigation Controller)来显示它的视图层级。

  下面是一个视图如何与视图控制器结合呈现在iOS应用上的例子:

【译】UI设计基础(UI Design Basics)--iOS应用解析(iOS App Anatomy)(三)

  尽管开发认为在视图和视图控制器,但用户更倾向于把iOS应用当作一组屏幕(Screen)集合。从这个角度看,在应用里,屏幕内容一般对应一个独特的视觉状态或模式。

  注:一个iOS应用包含一个窗口。但是,不同于计算机程序中的窗口,iOS的窗口没有可视的部分,它不能移动到另外一个位置显示。大部分iOS应用只包含一个窗口;可以支持外部扩展设备的应用程序可以有多个窗口。

  在iOS人性化界面指南(iOS Human Interface Guidelines)中,屏幕(Screen)这个词和大部分用户理解的一样。但做为一个开发者,你应该阅读一下关于屏幕的其他内容,具体可以看下UIScreen对象的相关章节,这样你就可以了解如何进入一个扩展的显示屏幕。

【译】UI设计基础(UI Design Basics)--iOS应用解析(iOS App Anatomy)(三)的更多相关文章

  1. 【译】UI设计基础(UI Design Basics)--导航(Navigation)(六)

    [译]UI设计基础(UI Design Basics)--导航(Navigation)(六)

  2. 【译】UI设计基础(UI Design Basics)--为iOS设计(Design for iOS)(二)

    2.1 为iOS设计(Design for iOS) iOS体现以下主题: 遵从:UI帮助用户理解界面内容并与内容交互,但绝不会与内容相互冲突. 清晰:文本在任何尺寸下都是清晰易读,图标精确易懂,装饰 ...

  3. 【译】UI设计基础(UI Design Basics)--自动适配与布局(Adaptivity and Layout)(四)

    2.3  自动适配与布局(Adaptivity and Layout) 2.3.1  开发成自动适配(Build In Adaptivity) 用户通常希望在自己的所有设备,各种场景中使用他们喜欢的a ...

  4. 【译】UI设计基础(UI Design Basics)--启动与停止(Starting and Stopping)(五)

    2.4  启动与停止(Starting and Stopping) 2.4.1  立即启动(Start Instantly) 通常来讲,用户不会花超过两分钟的时候去评价一个新的应用.在这段有限的时间里 ...

  5. iOS10 UI设计基础教程

    iOS10 UI设计基础教程 介绍:本教程针对iOS初级开发人员,基于iOS 10系统,使用Swift 3.0语言讲解如何进行UI设计.本教程内容涵盖UI基础构成.UI元素.自动布局.自适应UI.UI ...

  6. iOS 7 UI 过渡指南 - 支持续 iOS 6(iOS 7 UI Transition Guide - Supporting iOS 6)

    iOS 7 UI Transition Guide Preparing for Transition Before You Start Scoping the Project Supporting i ...

  7. 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(六)Picker View视图 学习笔记

    想对PickerView进行操作,只能在代码中操作. 下面 ,再添加三个label组件,然后将所有组件配置到代码中(看代码),然后要实现对PickerView的操作,就要实现它的DataSource协 ...

  8. 重大发现: windows下C++ UI库 UI神器-SOUI(转载)

    转载:http://www.cnblogs.com/setoutsoft/p/4996870.html 在Windows平台上开发客户端产品是一个非常痛苦的过程,特别是还要用C++的时候.尽管很多语言 ...

  9. 07-09 07:28:38.350: E/AndroidRuntime(1437): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.googleplay.ui.activity.MainActivity" on path: DexPathList[[zip file "/data/app/c

    一运行,加载mainActivity就报错 布局文件乱写一通,然后急着运行,报莫名其妙的错误: 07-09 07:28:38.350: E/AndroidRuntime(1437): Caused b ...

随机推荐

  1. GridView总结一:GridView自带分页及与DropDownList结合使用

    GridView自带的分页功能实现: 要实现GrdView分页的功能 操作如下: 1.更改GrdView控件的AllowPaging属性为true. 2.更改GrdView控件的PageSize属性为 ...

  2. java.util.Map按照key值合并的value的Collection 集合中。

    用java实现把多个map的内容合并的一个resultMap中 代码大致如下 /**  * @author Shalf  */ public class MapUtil { /** * 把partMa ...

  3. PrintWriter返回值乱码问题

    ⑴response.setCharacterEncoding("utf-8"); ⑵response.setContentType("text/html; charset ...

  4. [转]Python 资源大全中文版

    摘自:https://github.com/jobbole/awesome-python-cn 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesom ...

  5. X--名称空间详解

    转自:http://blog.csdn.net/lisenyang/article/details/18312039 X名称空间里面的成员(如X:Name,X:Class)都是写给XAML编译器看的. ...

  6. TCP报文首部详解

    首部固定部分各字段的意义如下: 1.源端口和目的端口,各占2个字节. 2.序号:占4个字节,序号范围为0到2的32次方-1,序号增加到2的32次方-1之后,下一个序号变为0,在一个TCP连接中传送的字 ...

  7. SVG.js 元素操作整理(二)-Transform

    一.transform()获取或设置矩阵变换 var draw = SVG('svg1').size(300, 300); //Transforming SVG元素矩阵变换 var rect = dr ...

  8. 玩转TypeScript(引言&文章目录) --初看TypeScript.

    JavaScript过去一直被当作一种玩具语言存在,直到2005年以后,这门语言又开始活跃并可以说是火爆,而且随着浏览器版本的不断升级和完善,各种DOM之间的兼容性已经渐渐的被各种技术解决了,比如经典 ...

  9. E: 无法获得锁 /var/cache/apt/archives/lock - open (11 资源临时不可用)

    事件: 今软件包有更新,进入更新管理器,点击安装更新,出现错误. 错误提示: E: 无法获得锁 /var/cache/apt/archives/lock - open (11 资源临时不可用) E: ...

  10. CenOs7安装oracle图文详细过程(01)

    原创作品,转载请在文章头部(显眼位置)注明出处:https://www.cnblogs.com/sunshine5683/p/10011441.html 1.检查必要的安装包是否安装 命令脚本: rp ...