IB 是Xcode中用來創建界面的一個工具,在Iphone中每個界面都有一個對應的 Storyboard文件。
在你創建一個“Single View Application”項目時,會一同創建下面2個Storyboard文件,分別對應iPhone和iPad下的界面:
“First Responder”是“第一響應者”,它代表當前界面中正在與用戶交互的可視對象。
在該面板中除了“First Responder”之外都是oc的對象:
選擇“View Controller”後,點擊右上角:
可以看到“View Controller”是 ViewController類的對象。
上面的對象都是從左下角的對象庫中拖出來的:
我在代碼中如何訪問這些可視對象呢?
你可以在對應的控制器中使用Outlet來訪問它們,Outlet按照下面的語法來聲明:
IBOutlet 關鍵字聲明如下:
#ifndef IBOutlet
#define IBOutlet
#endif
可以看到它是一個空的宏定義,它本身沒有任何功能,只是用來告訴IB這是一個輸出口,之後用於連接storyboard中的對象。
現在也只是聲明瞭一個Outlet,接下來還需要把Storyboard中的同類型對象連接到它,纔可以使用。
連接方法:
打開Storyboard -》 按住control鍵 -》 把Label拖動到Outlet變量就可以了。
然後在代碼中就可以直接使用Label對象了:
我如何讓IB中的按鈕被按下時,執行一段代碼呢?
這個在Xcode中叫做 IBAction方法,該方法按照以下語法聲明:
然後記得按照剛纔的步驟連接一次IBAction方法就可以拉。