關(guān)于Windows和Views
在iOS中,你使用windows和view在屏幕上呈現(xiàn)應(yīng)用程序的內(nèi)容炫乓。Windows 自身并沒有任何可見的內(nèi)容但為應(yīng)用程序的views提供一個基本的容器吴藻。View 定義了你想要填充一些內(nèi)容的窗口的一部分邀摆。例如掘剪,你的可能用views來顯示圖片垦梆,文本诊赊,圖形厚满,或者它們的混合。你也能使用views來組織和管理其他views碧磅。
概覽
每個應(yīng)用程序最少有一個windows和一個view來呈現(xiàn)它的內(nèi)容碘箍。UIKit和其他系統(tǒng)frameworks 提供一些你可以用來呈現(xiàn)你內(nèi)容的預(yù)定義views。這些viwes 從簡單的buttons和text labels 到更為復(fù)雜的views, 例如tableviws, picker views, 和scroll views鲸郊。某些時候當預(yù)定義的views不提供你所要的丰榴,你可以自己自定義views 以及管理繪圖和事件處理。
Views 管理你的應(yīng)用呈現(xiàn)的可視化內(nèi)容
一個View是「UIView」類(或者它的一個子類)的一個實例并在你應(yīng)用程序window中管理一個矩形區(qū)域秆撮。Views負責繪制內(nèi)容四濒,處理多點觸控事件,并管理任何subviews的布局职辨。繪圖涉及使用圖形技術(shù)例如CoreGraphics, OPENGL ES, 或者UKit 在一個View的矩形區(qū)域內(nèi)繪制圖形盗蟆,圖片,和文本舒裤。一個View 在它的矩形區(qū)域通過手勢或者直接處理觸摸事件來響應(yīng)觸摸事件喳资。在View 層次中,父Views 負責定位和處理子view大小并且能夠動態(tài)的這樣做腾供。動態(tài)地修改子view的能力讓你的views根據(jù)條件進行調(diào)整仆邓,比如旋轉(zhuǎn)和動畫鲜滩。
你可以把views 當做你用來構(gòu)造你用戶接口的構(gòu)建塊。而不是一個view來呈現(xiàn)你所有的內(nèi)容节值,你通常使用幾個views來建立一個視圖層次徙硅。每個視圖在層次中呈現(xiàn)你用戶接口中一個特殊的部分并且通常是一個特定的優(yōu)化的內(nèi)容。例如察署,UIkit 使用這些特殊的views來呈現(xiàn)圖片闷游,文本和其他類型的內(nèi)容。
相關(guān)章節(jié):View and Window 架構(gòu)贴汪,Views
windows 顯示你Views的坐標系
window是「UIWindow」類的實例并且處理應(yīng)用程序整個用戶接口的呈現(xiàn)。windows 跟views一起工作(包括擁有它的view controllers)來管理與view 層次的交互和變化休吠。大多數(shù)情況扳埂,你應(yīng)用程序的window 并不改變。在你的window創(chuàng)建后瘤礁,它保持不變并且只有顯示的views改變阳懂。每個應(yīng)用程序最少有一個window用來在設(shè)備的主屏幕上顯示用用程序的接口。如果外部顯示器接到設(shè)備上柜思,應(yīng)用程序也可以創(chuàng)建第二個window來在那個屏幕上呈現(xiàn)內(nèi)容岩调。
相關(guān)章節(jié):Windows
動畫為用戶接口的改變提供用戶一個可視化的反饋
動畫提供一個關(guān)于你View層次改變的可視化反饋。系統(tǒng)為呈現(xiàn)模態(tài)的view和不同組的view的過渡提供標準的動畫赡盘。然而号枕,許多view的屬性可以被直接用來動畫。例如陨享,通過動畫你可以改變一個view的透明度葱淳,它在屏幕上的位置,它的大小抛姑,它的背景顏色赞厕,或者其他的屬性。如果你直接用views的底層Core Animation層次對象定硝,你也可以執(zhí)行其他許多動畫皿桑。
Interface Builder的角色
Interface Builder 是你可以圖形化來構(gòu)造和配置你應(yīng)用程序window和view的一個應(yīng)用程序。使用Interface Builder蔬啡,你可以在一個「nib file」中裝載和安置你的views, 它是一個存儲你view和其他對象凍結(jié)版本的一個資源文件诲侮。當你在運行時加載一個nib file,在其內(nèi)部的對象會被重新構(gòu)建為你可通過編程方法進行操作的事實對象。
Interface Builder 極大地簡化了你創(chuàng)建應(yīng)用程序用戶接口的工作星爪。在iOS中由于支持Interface Builder和nib文件浆西,只需要很小的努力就可以集成nib file到你的應(yīng)用程序中。
更詳細的信息關(guān)于怎樣使用Interface Builder ,參考Interface Builder User Guide. 更多關(guān)于view controllers 怎樣管理包含它們的views的nib文件顽腾,參考View Controller Programming Guide for iOS 中的 Create Custom Content View Controller
相關(guān)文檔
由于views 是非常復(fù)雜和靈活的對象近零,不可能在一個文檔中描述它所有的行為诺核。然后,有其他文檔可以完整的幫你學(xué)習(xí)關(guān)于管理views和你用戶接口的其他一些方面的知識久信。
- View controller 是管理你應(yīng)用程序views的一個重要的部分窖杀。一個view controller集合了所有的view到視圖層次中并將那些view呈現(xiàn)到屏幕上。更多關(guān)于view controllers和它所扮演的角色裙士,參照View Controller Programming Guide for iOS
- Views 在你應(yīng)用程序中是手勢和觸摸事件的接受者入客。更多關(guān)于使用手勢和直接處理觸摸事件,參照Event Handling Guide for iOS.
- 自定義的views 必須使用可用的繪圖技術(shù)來渲染它們的內(nèi)容腿椎。更多關(guān)于在你的views 中使用繪圖的技術(shù)桌硫,參照Drawing and Printing Guide for iOS.
- 在某些時候標準的view動畫不夠充分的,你可用使用Core Animation.更多關(guān)于使用Core Animatios 實現(xiàn)動畫啃炸,參考Core Animation Programming Guide.