2.1  iOS应用解析(iOS App Anatomy)

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

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

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

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

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

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

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

  尽管开发认为在视图和视图控制器,但用户更倾向于把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. Hibernate的游离态与持久态转换

    在Hibernate中,一个PO可能经过长时间的操作,session已过时关闭,此时PO已经是一个游离态的对象,这时要转换为持久战态,有下面几种方法: 1.session.saveOrUpdate(o ...

  2. thinkphp 统计某个字段不重复数 总数

    $this->batch->count('DISTINCT intobatch');

  3. 08_android入门_android-async-http开源项目介绍及用法

    android-async-http开源项目可以是我们轻松的获取网络数据或者向server发送数据.使用起来很easy,关于android-async-http开源项目的介绍内容来自于官方:http: ...

  4. QT 读写sqllite数据库

    QT 读写sqllite数据库 分类: 技术资料2014-04-10 10:39 84人阅读 评论(0) 收藏 举报 #include <QtGui/QApplication> #incl ...

  5. 常用Content-type汇总

    Content-Type,内容类型,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式.什么编码读取这个文件.这里汇总一下常用的,所有资料来源于网络,未经测试:  文件后缀 处理方式  .* ...

  6. HTML表单介绍

    表单语法结构如下: <form action="url" method="get|post" name="value" enctype ...

  7. HTML及简单标签介绍

    什么是HTML: HTML 语言是一种超文本的标记语言,简单来讲就是构建一套标记符号和语法规则,将所要显示出来的文字.图象.声音等要素按照一定的标准要求排放,形成一定的标题.段落.列表等单元. 标签 ...

  8. ios中的界面跳转方式

    ios中,两种界面跳转方式 1.NavgationController本身可以作为普通ViewController的容器,它有装Controller的栈,所以可以push和pop它们,实现你所说的跳转 ...

  9. Not enough free space on disks! linux

    Not enough free space on disks!100多G未分配空间也装不了Linux ------------------------------------------------- ...

  10. Oracle修改被占用的临时表结构

    这两天在修改临时表的类型时,提示”attempt to create,alter or drop an index on temporary table already in use“的错误,由于临时 ...