iOS View编程指南

关于Windows和Views

在iOS中,你使用windows和view在屏幕上呈现应用程序的内容。Windows 自身并没有任何可见的内容但为应用程序的views提供一个基本的容器。View 定义了你想要填充一些内容的窗口的一部分。例如,你的可能用views来显示图片,文本,图形,或者它们的混合。你也能使用views来组织和管理其他views。

概览

每个应用程序最少有一个windows和一个view来呈现它的内容。UIKit和其他系统frameworks 提供一些你可以用来呈现你内容的预定义views。这些viwes 从简单的buttons和text labels 到更为复杂的views, 例如tableviws, picker views, 和scroll views。某些时候当预定义的views不提供你所要的,你可以自己自定义views 以及管理绘图和事件处理。

Views 管理你的应用呈现的可视化内容

一个View是「UIView」类(或者它的一个子类)的一个实例并在你应用程序window中管理一个矩形区域。Views负责绘制内容,处理多点触控事件,并管理任何subviews的布局。绘图涉及使用图形技术例如CoreGraphics, OPENGL ES, 或者UKit 在一个View的矩形区域内绘制图形,图片,和文本。一个View 在它的矩形区域通过手势或者直接处理触摸事件来响应触摸事件。在View 层次中,父Views 负责定位和处理子view大小并且能够动态的这样做。动态地修改子view的能力让你的views根据条件进行调整,比如旋转和动画。
你可以把views 当做你用来构造你用户接口的构建块。而不是一个view来呈现你所有的内容,你通常使用几个views来建立一个视图层次。每个视图在层次中呈现你用户接口中一个特殊的部分并且通常是一个特定的优化的内容。例如,UIkit 使用这些特殊的views来呈现图片,文本和其他类型的内容。
相关章节:View and Window 架构,Views

windows 显示你Views的坐标系

window是「UIWindow」类的实例并且处理应用程序整个用户接口的呈现。windows 跟views一起工作(包括拥有它的view controllers)来管理与view 层次的交互和变化。大多数情况,你应用程序的window 并不改变。在你的window创建后,它保持不变并且只有显示的views改变。每个应用程序最少有一个window用来在设备的主屏幕上显示用用程序的接口。如果外部显示器接到设备上,应用程序也可以创建第二个window来在那个屏幕上呈现内容。
相关章节:Windows

动画为用户接口的改变提供用户一个可视化的反馈

动画提供一个关于你View层次改变的可视化反馈。系统为呈现模态的view和不同组的view的过渡提供标准的动画。然而,许多view的属性可以被直接用来动画。例如,通过动画你可以改变一个view的透明度,它在屏幕上的位置,它的大小,它的背景颜色,或者其他的属性。如果你直接用views的底层Core Animation层次对象,你也可以执行其他许多动画。

Interface Builder的角色

Interface Builder 是你可以图形化来构造和配置你应用程序window和view的一个应用程序。使用Interface Builder,你可以在一个「nib file」中装载和安置你的views, 它是一个存储你view和其他对象冻结版本的一个资源文件。当你在运行时加载一个nib file,在其内部的对象会被重新构建为你可通过编程方法进行操作的事实对象。
Interface Builder 极大地简化了你创建应用程序用户接口的工作。在iOS中由于支持Interface Builder和nib文件,只需要很小的努力就可以集成nib file到你的应用程序中。
更详细的信息关于怎样使用Interface Builder ,参考Interface Builder User Guide. 更多关于view controllers 怎样管理包含它们的views的nib文件,参考View Controller Programming Guide for iOS 中的 Create Custom Content View Controller


相关文档

由于views 是非常复杂和灵活的对象,不可能在一个文档中描述它所有的行为。然后,有其他文档可以完整的帮你学习关于管理views和你用户接口的其他一些方面的知识。

  • View controller 是管理你应用程序views的一个重要的部分。一个view controller集合了所有的view到视图层次中并将那些view呈现到屏幕上。更多关于view controllers和它所扮演的角色,参照View Controller Programming Guide for iOS
  • Views 在你应用程序中是手势和触摸事件的接受者。更多关于使用手势和直接处理触摸事件,参照Event Handling Guide for iOS.
  • 自定义的views 必须使用可用的绘图技术来渲染它们的内容。更多关于在你的views 中使用绘图的技术,参照Drawing and Printing Guide for iOS.
  • 在某些时候标准的view动画不够充分的,你可用使用Core Animation.更多关于使用Core Animatios 实现动画,参考Core Animation Programming Guide.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容