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. docker 下 安装rancher 笔记

    sudo yum update 更新系统环境 curl -sSL https://get.docker.com/ | sh 安装最新docker版本 systemctl start docker.se ...

  2. 基于amoeba实现mysql数据库的读写分离/负载均衡

    一.Amoeba的简述:[来自百度百科]      Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请 ...

  3. Android bitmap图片处理

    一.View转换为Bitmap         在Android中所有的控件都是View的直接子类或者间接子类,通过它们可以组成丰富的UI界面.在窗口显示的时候Android会把这些控件都加载到内存中 ...

  4. TopCoder SRMS 1 字符串处理问题 Java题解

    Problem Statement   Let's say you have a binary string such as the following: 011100011 One way to e ...

  5. Qt 学习之路:元素布局

    上一章我们介绍了 QML 中用于定位的几种元素,被称为定位器.除了定位器,QML 还提供了另外一种用于布局的机制.我们将这种机制成为锚点(anchor).锚点允许我们灵活地设置两个元素的相对位置.它使 ...

  6. EsayUI datagrid 刷新问题

    最近使用esayui 实现前台界面,在对父页面中datagrid列表项进行操作后,如果操作子页面是依附于父页面弹出的窗体,那么调用parent.$("#grid").datagri ...

  7. linux系统时间同步更新

    linux中的时钟分为系统时钟和硬件时钟.硬件时钟通过bioss进行设置,系统时钟通过linux kernel进行设置.当linux启动时,bioss会读取系统时钟的时钟设置.在linux中涉及时间设 ...

  8. Android开发需要注意的地方

          1.理解运用商场概略 开发者对商场状况的理解与APP的胜利紧密相连,往常,AppStore和GooglePlay能够说是挪动运用最为丰厚的运用生态,像苹果的下载计算表单会记载抢手运用的下载 ...

  9. Android开发---支付宝功能接口(支付功能)(转载!)

    最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多. 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单.而且支付宝提供的接口一直在 ...

  10. c#中的interface abstract与virtual

    interface用来声明接口1.只提供一些方法规约,不提供方法主体  如  public interface IPerson {  void getName();//不包含方法主体  }2.方法不能 ...