interface builder

簡介


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

IB視窗

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

IB顯示方式

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

庫中控制項

Library視窗包含大量可以在Interface Builder內使用的控制項。這些控制項也可以通過代碼來調用;括弧內的內容表示與該控制項相對應的類。
控制器(UIViewController) 控制器是控制某種類型活動的控制器系列。
數據視圖 數據視圖通常用於向用戶展示某種類型的信息。
輸入對象與值對象(Inputs & Values) Inputs & Values視窗提供了一組UI控制項為用戶提供輸入方式。
視窗、視圖和欄 這些是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插座變數與實際按鈕的連線)。
創建好連線後,並且已經設定好這個插座變數,接下來可以在代碼中使用它。

設定動作

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

相關詞條

熱門詞條

聯絡我們