複製鏈接
請複製以下鏈接發送給好友

interface builder

鎖定
Interface Builder(IB)是Mac OS X平台下用於設計和測試用户界面(GUI)的應用程序(非開源)。當團隊設計編輯代碼時,可以利用它合理地劃分項目時,可以避免很多潛在的衝突。
外文名
interface builder
軟件平台
Mac OS X

interface builder簡介

interface builder interface builder
為了生成GUI,IB並不是必需的,實際上Mac OS X下所有的用户界面元素都可以使用代碼直接生成;但IB能夠使開發者簡單快捷的開發出符合Mac OS X human-interface guidelines的GUI。通常你只需要通過簡單的拖拽(drag-n-drop)操作來構建GUI就可以了。IB使用Nib文件儲存GUI資源,同時適用於Cocoa和Carbon程序。在需要的時候,Nib文件可以被快速地載入內存。 [1] 
Interface Builder工具是在iPhone SDK中提供的。該工具通常用於Mac OS X和iPhone應用程序開發。Interface Builder提供了拖放面板以供開發人員將控件拖放到屏幕上。

interface builderIB窗口

Project window:存儲界面文件內容(即為NIB 工程窗口);
Design window:應用程序的用户界面;
Inspector window:查看和編輯界面控件和對象的屬性;
Library:放置控件的工具箱;
Menu editor:增刪改應用程序的菜單;
NIB (工程)窗口(雙擊XIB文件);
默認顯示有6項:【File's Owner】,【First Responder】,【Font Manage】,【Application】,【MainMenu】,【Window】

interface builderIB顯示方式

1、以可視化的圖標方式列出了的XIB中對象;
2、以樹狀(豎直列表)形式顯示對象信息;
3、以列狀(水平列表)形式顯示對象信息;

interface builder庫中控件

Library窗口包含大量可以在Interface Builder內使用的控件。這些控件也可以通過代碼來調用;括號內的內容表示與該控件相對應的類。
控制器(UIViewController) 控制器是控制某種類型活動的控制器系列。
數據視圖 數據視圖通常用於向用户展示某種類型的信息。
輸入對象與值對象(Inputs & Values) Inputs & Values窗口提供了一組UI控件為用户提供輸入方式。
窗口、視圖和欄 這些是Interface Builder和代碼中可以使用的窗口、視圖和欄。

interface builder設置插座變量

為了能夠使用拖到Interface Builder視圖上的控件,需要為每個控件創建一個插座變量。在MonoTouch中,插座變量是一個類上的實例變量,該類分配給Interface Builder內定義的控件。該實例變量提供了一個接口,使得我們可以通過編程來訪問該控件。為了説明這一點,您將使用一個基於iPhone窗口的項目,並在Interface Builder中打開MainWindows.xib文件。
在大多數情況下,您不會希望在窗口中直接使用控件,而是使用作為子視圖加入到窗口中的視圖來連接控件。這是因為在實際的應用程序中,您只是使用窗口來添加視圖,而不是使用窗口來顯示控件。
(1) 首先,從Library Objects選項卡中拖動一個圓角矩形按鈕到窗口上。為了設置按鈕的文本,可以在按鈕中間雙擊,然後輸入文本。
(2) 即使按鈕控件位於窗口上,如果沒有為其創建插座變量,那麼也不能使用這個控件。在庫中,選擇Classes選項卡,然後選擇AppDelegate選項(這就是您需要用於訪問新建按鈕的類)。
(3) 在Library窗口的下方,有一個由4個選項卡組成的列表:Inheritance、Definitions、Outlets和Actions。現在,需要選擇Outlets選項卡,單擊+按鈕加入一個新的插座變量。將該插座變量命名為myButton,按Enter鍵保存修改結果。可以選擇輸入一種類型,但是可以保留這個類型為“id”。
(4) 您可能已經注意到,還沒有告訴這個插座變量哪個按鈕將與之關聯。為此,需要使用Inspector窗口(位於圖2-8中靠右邊的窗口)來創建從AppDelegate類插座變量到窗口中實際按鈕的連接。首先從Interface Builder的主窗口(從左邊開始數的第三個窗口)中選擇AppDelegate。然後,選擇Inspector窗口中的Connections選項卡(帶有藍色圖標和白色箭頭)。插座變量會在此顯示;然後需要單擊並將其從Inspector插座變量拖到窗口上的實際按鈕(創建Inspector插座變量與實際按鈕的連接)。
創建好連接後,並且已經設置好這個插座變量,接下來可以在代碼中使用它。

interface builder設置動作

動作是一條消息,當特定的事件發生時就會激活這條消息。這與.NET內事件的概念非常類似。MonoTouch所做的工作就是通過激活該事件的控件的強類型部分方法來公開這些動作。在下一節中可以瞭解到更多的相關知識。
設置動作的方式類似於設置插座變量,通過使用庫類部分來創建一個新的動作,然後將這個動作連接到一個按鈕的方法上。
(1) 與前面創建插座變量一樣,創建一個新動作,並賦予它一個名稱。
(2) 接着,與插座變量的情況一樣,選擇Actions選項卡,單擊+按鈕添加一個新動作。應該將這個動作取名為buttonPressed,從而與示例圖像一致。Interface Builder會自動在該方法之後增加一個分號,用於表示這是Objective-C中的一個方法,但是,在使用Mono Touch時,保留這個分號並無妨礙。
(3) 您應該注意到,在AppDelegate Inspector Connections選項卡內,有一個名為Received Actions的新區域,其中包含着這個新動作。單擊並將這個新動作拖到該按鈕上。這一次,當釋放鼠標左鍵後,應該注意到會出現該按鈕可用的一系列動作。作為示例,請參見圖2-9。
需要與按鈕關聯的動作可能是TouchUpInside方法。這意味着用户觸摸了按鈕,並剛剛移開光標。
這就是在Interface Builder中關聯一個動作所需的所有工作。
參考資料