《iPhone应用程序开发指南(基础篇)》第六章 6.1

原文地址:http://www.aisidechina.com/blog/2010/03/22/

 

版权所有:AisideChina

本博客将在今后陆续进行本书的连载,敬请关注!
更多内容请大家购买正版《iPhone应用程序开发指南(基础篇)》

 

6.1             视图的概述

在iPhone程序开发中,视图是最基础的部分。严格来说,几乎所有显示在iPhone屏幕上的内容都可以被称为视图,比如通常见到的按钮、开关、图片等。我们可以设置视图的大小和位置,以及视图之间的层次关系。如图6-1所示,屏幕上显示的文字、图形等都是视图。

视图和窗口

视图是显示可见元素的图形用户界面(GUI),而窗口则是存放视图的容器,它们都是构建iPhone程序界面的基本组成部分。具体来说,窗口提供了一个显示具体内容的平台,而视图则承担了大部分的绘制界面和用户响应的工作。iPhone界面的设计通常采用“单窗口-多视图”的模式,即程序只有一个窗口却可以有多个视图,打个比方,如图6-2所示,把窗口比作显示器,视图就如同显示出来的丰富多彩的内容。显示器里面的内容是不断更新和变化的,而显示器却是不变的。它不像Windows IE那样可以是多个窗口同时浏览,如图6-3所示。

窗口,即窗口类(UIWindow)的一个实例。它用来定义一个定位和管理应用程序界面的对象。窗口有层次地保存所有的视图,并且位于所有层次的根部。从根本上说,窗口就是一种特殊的视图,它对于桌面系统非常重要,但对iPhone应用程序就没有那么重要了,因为iPhone应用程序一般只有一个窗口,毕竟iPhone的屏幕太过小巧,这也是iPhone程序采用“单窗口-多视图”模式的直接原因。

视图,即视图类(UIView)的一个实例,它通常用于定义屏幕上的一个矩形区域,可以用来显示各种控件、图像等可视元素,这些元素都是以子视图的方式加载在视图上的,这就是我们稍后要讲解的视图层次关系。

视图的继承

在iPhone开发中,UIView的继承是一部分重要的内容,具体来说,视图一般拥有一个父视图和多个子视图。图6-4中列出了UIView的这种继承关系,从中我们可以很清楚的看出UIView的父类是NSObject,而它的子类是UIControl、UIWindow等。UIControl拥有很多子类,其中包括UIButton、UITextField、UISwitch、UISlider等等,这些基本上就是本章所要讲解的内容。

这里简单介绍一下UIControl。UIControl继承自UIView,从上面的图中可以清楚地看出这种关系。UIControl的主要作用是实现用户和程序的交互:当用户操作某个控件时,将触发相应的事件来完成一定的功能或过程;UIControl还可以控制控件的状态,例如设置它们的enabled或者highlighted属性。

视图的层次结构

程序中每个视图和显示该视图的窗口是相互关联的,一个窗口中的所有视图可以根据视图层次连在一起。iPhone按照视图加入的先后顺序,由后向前显示,这说明了视图层次是一种空间上的叠加关系。所有视图都可以有子视图,一个视图可能拥有很多子视图,也可能没有子视图。

从图6-5 World Clock视图层次中可以看出,包含状态栏的是程序窗口,显示的是在iPhone上运行的程序的界面。标号为2的是去除状态栏的程序“视图”,3是程序“视图”的导航栏部分,4是标签栏部分,5是位于导航栏和标签栏之间的自定义视图部分。2、3、4、5部分叠加在一起形成程序视图1。

视图层次,就是视图在空间上的相互位置关系,它可以帮助我们从整体上理解视图,也为接下来学习控件的知识做铺垫。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值