【译】UI设计基础(UI Design Basics)--iOS应用解析(iOS App Anatomy)(三)
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)(三)的更多相关文章
- 【译】UI设计基础(UI Design Basics)--导航(Navigation)(六)
[译]UI设计基础(UI Design Basics)--导航(Navigation)(六)
- 【译】UI设计基础(UI Design Basics)--为iOS设计(Design for iOS)(二)
2.1 为iOS设计(Design for iOS) iOS体现以下主题: 遵从:UI帮助用户理解界面内容并与内容交互,但绝不会与内容相互冲突. 清晰:文本在任何尺寸下都是清晰易读,图标精确易懂,装饰 ...
- 【译】UI设计基础(UI Design Basics)--自动适配与布局(Adaptivity and Layout)(四)
2.3 自动适配与布局(Adaptivity and Layout) 2.3.1 开发成自动适配(Build In Adaptivity) 用户通常希望在自己的所有设备,各种场景中使用他们喜欢的a ...
- 【译】UI设计基础(UI Design Basics)--启动与停止(Starting and Stopping)(五)
2.4 启动与停止(Starting and Stopping) 2.4.1 立即启动(Start Instantly) 通常来讲,用户不会花超过两分钟的时候去评价一个新的应用.在这段有限的时间里 ...
- iOS10 UI设计基础教程
iOS10 UI设计基础教程 介绍:本教程针对iOS初级开发人员,基于iOS 10系统,使用Swift 3.0语言讲解如何进行UI设计.本教程内容涵盖UI基础构成.UI元素.自动布局.自适应UI.UI ...
- 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 ...
- 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(六)Picker View视图 学习笔记
想对PickerView进行操作,只能在代码中操作. 下面 ,再添加三个label组件,然后将所有组件配置到代码中(看代码),然后要实现对PickerView的操作,就要实现它的DataSource协 ...
- 重大发现: windows下C++ UI库 UI神器-SOUI(转载)
转载:http://www.cnblogs.com/setoutsoft/p/4996870.html 在Windows平台上开发客户端产品是一个非常痛苦的过程,特别是还要用C++的时候.尽管很多语言 ...
- 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 ...
随机推荐
- Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle) instead
“Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(B ...
- UVA 10465 Homer Simpson(dp + 完全背包)
Problem C: Homer Simpson Time Limit: 3 seconds Memory Limit: 32 MB Homer Simpson, a very smart guy, ...
- [RxJS] Error handling operator: catch
Most of the common RxJS operators are about transformation, combination or filtering, but this lesso ...
- 读TIJ -1 对象入门
<Thinking In Java·第 1 章对象入门> 第 1 章约20页,是对面向对象的程序设计(OOP)的一个综述. 依照其前言所述: "当中包含对"什么是对象& ...
- Activity的几种启动跳转方式
一.显示调用方法 •Intent intent=new Intent(this,OtherActivity.class); //方法1 •Intent intent2=new Intent(); • ...
- windows Server 2008 -必须使用“角色管理工具”安装或配置Microsoft .Net Framework 3.5
在windows Server 2008上安装 .Net Framework 3.5的时候,报错:必须使用“角色管理工具”安装或配置Microsoft .Net Framework 3.5. Solu ...
- 游标中的static参数
以下测试用例将演示,使用static的游标和不使用的区别: if object_id(N't_test',N'u') is not null drop table t_test go create t ...
- index full scan/index fast full scan/index range scan
**************************1************************************* 索引状态: valid. N/A . ...
- IOS-textField
//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, ...
- Linux 删除文件夹
inux删除目录很简单,很多人还是习惯用rmdir 1.直接rm就可以了:rm -rf 目录名字 -r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思