Interface Builder制作Hello World教程
Interface Builder制作Hello World教程是本文要介紹的內(nèi)容,主要介紹如何用iPhone SDK Beta 2以及Interface Builder制作iPhone版Hello World。不多說(shuō),我們先來(lái)看詳細(xì)內(nèi)容。
蘋果已經(jīng)為我們放出了最新的iPhone SDK Beta 2,還附帶了一個(gè)超牛的Interface Builder。不拿它做點(diǎn)什么,蘋果迷是不會(huì)罷休的。可是蘋果比較不厚道的是,沒(méi)有太多地方提及怎么把Interface Builder和iPhone SDK揉到一起的方法。
本文將教你如何制作一個(gè)簡(jiǎn)單的Hello World。這個(gè)起步教學(xué)不同于任何你能看到的官網(wǎng)教學(xué),同樣,他和iPhone例子里面附帶的HelloWorldClassic也完全不一樣。因?yàn)樗鞘褂肐nterface Builder制作iPhone UI,而不是使用一大堆代碼創(chuàng)建按鈕、輸入框,等等等等。
在這個(gè)教學(xué)中,你會(huì)發(fā)現(xiàn)用IB+iPhone SDK開發(fā)一個(gè)簡(jiǎn)單的iPhone應(yīng)用程序的過(guò)程幾乎和開發(fā)Mac OS程序完全一樣。這個(gè)例子里我們使用了xib文件而不是nib去制作界面。
這個(gè)Hello World并沒(méi)有做太多事情,屏幕上只有一個(gè)按鈕和一個(gè)Label,按下按鈕,Label就會(huì)顯示Hello World! 就是這么簡(jiǎn)單。而你同樣會(huì)發(fā)現(xiàn)代碼也超乎尋常的簡(jiǎn)單,完全不同于你看到的其他iPhone SDK的例子。這就是最新的Interface Builder帶給我們的奇跡。這個(gè)教學(xué)假設(shè)你有那么一點(diǎn)點(diǎn)Mac開發(fā)的經(jīng)驗(yàn),不用多,但是如果一點(diǎn)都沒(méi)有的話我擔(dān)心你可能看不懂這篇文章。如果看不懂,沒(méi)關(guān)系,去看一下本站的其他蘋果開發(fā)的基礎(chǔ)文章,再回來(lái)看這篇。
演出開始了!
首先,你需要?jiǎng)?chuàng)建一個(gè)項(xiàng)目。我相信在這里截個(gè)圖告訴你怎么建立iPhone的項(xiàng)目是在侮辱你的智商,因?yàn)楫?dāng)你下載完2G的SDK大包,你要做的第一件事就是這個(gè)。因此讓我們轉(zhuǎn)到更重要的事情上:修改一下默認(rèn)的代碼。
默認(rèn)的項(xiàng)目建立后,它會(huì)幫你創(chuàng)建幾個(gè)文件,而且并沒(méi)有加入xib文件。相信在SDK 2.0正式版中會(huì)自動(dòng)加入的。默認(rèn)的AppDelegate.m看起來(lái)是這個(gè)樣子的:
- self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
- // Set up content view
- self.contentView = [[[MyView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
- [window addSubview:contentView];
- // Show window
- [window makeKeyAndVisible];
同時(shí)系統(tǒng)會(huì)自動(dòng)幫你建立一個(gè)MyView。我們要做的事情首先就是干掉這個(gè)MyView,因?yàn)橛辛怂阒荒軐懸淮蠖褎?chuàng)建按鈕、創(chuàng)建文字框的代碼才能實(shí)現(xiàn)我們想要的功能。你要做的事情是把上面這一大堆刪除,替換為下面這行:
- self.window = [[[NSBundle mainBundle] loadNibNamed:@"MainWindow" owner:self options:nil] objectAtIndex:0];
- [window makeKeyAndVisible];
拽進(jìn)去一個(gè)按鈕和一個(gè)Label,其他的不用管。
打開Interface Builder,新建(New),選擇建立一個(gè)Cocoa Touch-> Window。
拽進(jìn)去一個(gè)按鈕和一個(gè)Label,其他的不用管。
然后按command+S,保存,注意要保存到你剛才建立的項(xiàng)目目錄,取名為MainWindow。
Interface Builder就會(huì)聰明地問(wèn)你,是不是要添加到項(xiàng)目里。當(dāng)然,打上勾,選擇添加(Add)。
Build and Run,跑一下吧,你會(huì)看到在iPhone模擬器里,顯示出了你的窗口和你剛剛?cè)舆M(jìn)去的按鈕和文字框。
接下來(lái)我們準(zhǔn)備做點(diǎn)好玩的,按下按鈕,文字框就會(huì)變?yōu)镠ello World!
回到Interface Builder,選擇剛才的窗口,打開Inspector,在Class里面,默認(rèn)是UIWindow,把它改成你想取的名字,比如MyUIWin。
在Class Actions里面添加一個(gè)方法,比如hello: 別忘了后面的冒號(hào)。因?yàn)镺bjective-C的方法都是要有冒號(hào)的。在下面的Class Outlet里,點(diǎn)加號(hào),添加一個(gè)outlet,用于表示我們的Label,比如取名為showhello。
這兩件事情做完,我們需要把剛剛做的這些添加到項(xiàng)目里。選中你的MyUIWin窗口,在菜單里選擇 Write Class… 保存,同樣添加到項(xiàng)目中。
回到XCode,在MyUIWin.h里,把@interface MyUIWin :后面的一大堆注釋改為UIWindow,在OOXXAppDeletegate.h里,添加一行:
按Command+S保存,我們?cè)倩氐絀nterface Builder。
按住control鍵,你可以從MyUI Win里拖拽一條線到Label上,是不是開始和Mac的Cocoa程序類似了?拽上去,選擇showhello,也就是這個(gè)outlet。接下來(lái)選擇按鈕,在Inspector的Events里,你會(huì)看到一個(gè)叫做Touch Down的消息,拽住后面的圈,拽到MyUI Win上。跳出一個(gè)hello方法,選中它。
保存。我們的工作做完了。Build and Run,按下按鈕,你會(huì)發(fā)現(xiàn)Hello World顯示出來(lái)了。如果有問(wèn)題,沒(méi)有顯示,那么回過(guò)頭來(lái)重新看一遍上面的文章,看看自己哪里做錯(cuò)了。
如果你大致了解如何用XCode寫Mac程序,你會(huì)發(fā)現(xiàn)用iPhone SDK Beta2自帶的Interface Builder開發(fā)iPhone程序,幾乎就是和寫桌面程序沒(méi)什么兩樣。如果你閱讀本文發(fā)現(xiàn)不需要解釋,而且你已經(jīng)照做出來(lái)了,那么恭喜你,開發(fā) iPhone程序就是這么簡(jiǎn)單。
- @class MyUIWin;
然后把
- UIWindow *window;
以及
- @property (nonatomic, retain) UIWindow *window;
改成
- MyUIWin *window;
和
- @property (nonatomic, retain) MyUIWin *window;
回到MyUIWin.h,
把#import <Cocoa/Cocoa.h> 改成 #import <UIKit/UIKit.h>,然后再把IBOutlet id showhello;改成IBOutlet UILabel* showhello;
接著打開MyUIWin.m,找到
- - (IBAction)hello:(id)sender {
在里面增加一行:
- [showhello setText:@"Hello World!"];
本文例子下載請(qǐng)到:http://www.mobpub.net/viewthread.php?tid=3335&page=1&extra=#pid3585
好了,先別忙運(yùn)行,我們需要一個(gè)MainWindow才行。
小結(jié):Interface Builder制作Hello World教程的內(nèi)容介紹完了想,希望本文對(duì)你有所幫助!