视图是构建用户界面的基石。学习的过程中重要的是要了解如何使用视图以一种清晰,优雅,实用的方式呈现你的内容。创建良好的用户界面,有效地展示你的应用程序的内容是必不可少的建立一个成功的应用程序。在本章中,您将了解在一个脚本创建和管理视图来定义你的界面。
视图层次
视图不仅展示自我屏幕和用户输入做出反应,它们也可以作为容器的其他视图。其结果是,视图中的应用程序被安排在一个称为视图层次的层次结构。视图层次定义相对于其他视图的视图的布局。在这一层次,查看视图中封闭的情况下被称为子视图,并包围视图的父视图被称为它的父。一个视图实例可以有多个子视图,它只能有一个父视图。
在视图层次结构的顶层是window对象。由UIWindow类的实例表示,一个窗口作为基本的容器,可以在其中添加您的视图对象显示在屏幕上。就其本身而言,窗口不显示任何内容。如果要显示的内容,需要添加内容视图(子视图的层次结构)窗口。
一个内容视图及其子视图是对用户可见的,内容视图必须被插入到一个窗口的视图层次结构。当您使用storyboard,这个位置将自动为您配置。应用对象加载storyboard,创建相关的视图控制器类的实例,解开所有内容视图层次的每个视图控制器,然后将初始视图控制器到窗口的内容视图。您将了解更多关于在下一章管理视图控制器,现在,你会专注于你的storyboard在一个单一的视图控制器创建一个层次。
在视图层次结构的顶层是window对象。由UIWindow类的实例表示,一个窗口作为基本的容器,可以在其中添加您的视图对象显示在屏幕上。就其本身而言,窗口不显示任何内容。如果要显示的内容,需要添加内容视图(子视图的层次结构)窗口。
一个内容视图及其子视图是对用户可见的,内容视图必须被插入到一个窗口的视图层次结构。当您使用storyboard,这个位置将自动为您配置。应用对象加载storyboard,创建相关的视图控制器类的实例,解开所有内容视图层次的每个视图控制器,然后将初始视图控制器到窗口的内容视图。您将了解更多关于在下一章管理视图控制器,现在,你会专注于你的storyboard在一个单一的视图控制器创建一个层次。
建立一个接口使用视图
当你设计你的应用程序,它重要的是要知道使用目的是什么什么样的视图。例如,您可以使用收集输入文本的用户,如文本框中的一种观点,是从你可能会用什么来显示静态文本,如标签不同。使用UIKit的视图绘图应用程序很容易创建,因为你可以快速组装的基本界面。一个UIKit的视图对象是UIView类或者它的子类的一个实例。 UIKit框架提供了许多类型的视图,以帮助现在和组织数据。
虽然每个视图都有其特定的功能,UIKit的视图可归纳为七类:
类型 | 目的 | 例子 |
Content | 显示特定类型的内容,诸如图像或文本。 | Image view, label |
Collections | 显示集合观点或团体。 | Collection view, table view |
Controls | 执行操作或显示信息。 | Button, slider, switch |
Bars | 导航,或执行动作。 | Toolbar, navigation bar, tab bar |
Input | 接收用户输入的文本。 | Search bar, text view |
Containers | 作为容器的其他视图。 | View, scroll view |
Modal | 中断应用程序的正常流动,允许用户执行某种动作。 | Action sheet, alert view |
您可以使用Interface Builder组装的看法图形。界面生成器提供的,你需要建立你的接口标准视图,控件和其他对象库。从库中拖拽这些对象后,您拖放到画布上,并安排他们在任何你想要的方式。接下来,使用检查员其保存在一个脚本之前,配置这些对象。您可以立即看到结果,而不需要编写代码,构建和运行你的应用程序。
UIKit框架提供了展示许多类型的内容标准的意见,但你也可以通过UIView的子类(或其后代)定义你自己的自定义视图。自定义视图的UIView的子类中,你处理所有的绘图和事件处理任务自己。你不会使用自定义视图在这些教程,但是您可以了解更多有关实现自定义视图中查看编程指南适用于iOS的“定义自定义视图”。
使用Storyboard来布置视图
在图形环境中,您可以使用Storyboard来布置您的层次。Storyboard提供视图的工作,并建立自己的接口直接的,可视化的方式。
正如你在第一个教程看了,Storyboard是由场景,每个场景都有一个关联的视图层次结构。您拖动一个视图出来的对象库,并把它放在一个Storyboard场景中将其自动添加到该场景的视图层次结构。该层次结构中的视图位置由您的地方来确定。当您将视图添加到你的场景,你可以调整,操作,配置和移动的画布上。
画布还显示在你的界面对象的大纲视图。大纲视图 - 这出现在左边画布可以让你看到的对象的层次结构表示在你的脚本。
正如你在第一个教程看了,Storyboard是由场景,每个场景都有一个关联的视图层次结构。您拖动一个视图出来的对象库,并把它放在一个Storyboard场景中将其自动添加到该场景的视图层次结构。该层次结构中的视图位置由您的地方来确定。当您将视图添加到你的场景,你可以调整,操作,配置和移动的画布上。
画布还显示在你的界面对象的大纲视图。大纲视图 - 这出现在左边画布可以让你看到的对象的层次结构表示在你的脚本。
您在Storyboard的场景图形方式创建视图层次结构实际上是一个“shrinkwrapped”设置Objective-C的对象。在运行时,这些shrinkwrapped对象是未归档。其结果是配置了你设置使用直观的工具领域的各种检查员的属性相关的类的实例的层次结构。
使用检查器配置浏览
当与视图故事板工作,检查员窗格是一个必不可少的工具。检查窗格出现在工具区域中的对象库上面。
每个督察提供了在你的界面元素重要的配置选项。当您选择一个对象,如视图,在你的脚本,你可以使用每个督察,以自定义对象的不同属性。
文件。让您指定有关故事板的一般信息。
帮助。提供了有关对象的有用的文档。
身份。让您的对象指定一个自定义类并定义它的辅助功能属性。
属性。允许您自定义对象的可视属性。
尺寸。让您指定一个对象的大小和自动布局属性。
连接。可以让你创建你的界面和源代码之间的连接。
你开始在第一个教程的属性检查器中工作。你会继续使用这些检查员的整个教程中的其余配置中的故事板视图和其他对象。特别是,您将使用属性检查器来配置您的意见,身份检查配置您的视图控制器,以及连接检查员来创建你的视图和视图控制器之间的连接。
自动布局到位置视图
当你开始在你的Storyboard定位的视图,你需要考虑各种情况。 iOS应用在许多不同的设备上运行,与各种屏幕尺寸,方向,和语言。而不是设计一个静态界面,你希望它是动态的,无缝的变化,屏幕大小,设备方向,定位和指标作出回应。
为了帮助您使用视图来创建一个通用的接口,Xcode中提供了一个名为自动布局工具。自动布局是表达意见之间的关系在你的应用程序的用户界面的系统。自动布局可以让你在个人的视图或成套的观点之间的约束来定义这些关系。
自动布局菜单,它驻留在你的画布的右下角区域,有四个分部。您可以使用此菜单不同类型的约束添加到您的画布上的视图,解决布局问题,并确定约束调整大小行为。
为了帮助您使用视图来创建一个通用的接口,Xcode中提供了一个名为自动布局工具。自动布局是表达意见之间的关系在你的应用程序的用户界面的系统。自动布局可以让你在个人的视图或成套的观点之间的约束来定义这些关系。
自动布局菜单,它驻留在你的画布的右下角区域,有四个分部。您可以使用此菜单不同类型的约束添加到您的画布上的视图,解决布局问题,并确定约束调整大小行为。
你会使用自动布局简要工作在第二个教程,以增加对横向模式支持你的todolist的应用程序。