對於很多初學者來說,肯定希望自己嘗試不用傻瓜的“Single View Application”模板建立一個含有View的視窗,而是希望能從零開始,先建一個空的架構,然後逐漸向裡面添加View。但遺憾的是 XCODE4.6既沒有在開始嚮導中包含4.0版本的“Window-Based Application”選項,也沒有直接添加UIViewController subclass模板的選項,所以在很多之前的書籍中介紹的方法都不適用,讓初學者無所適從。其實,在4.6版本中建立從零開始的視窗更簡單。
1.建立一個Empty Application.沒有比這更能簡化的版本了。接下來的選項中Product Name命名為WindowBasedApp,Class Profix命名為WBA,如所示:
2.建立一個View Controller。為此,先建立一個普通類,,選擇Objective-C Class:
3.點擊“Next”,在接著出現的介面中,將新類命名為myViewController,同時注意選取Subclass為ViewController,而不是NSObject。選中With XIB for user Interface。當然,如果你想更絕的,連xib也自己重建立立,那也可以,後面將介紹方法。
4.現在,你的項目應該如所示。注意,為了測試是否能開啟你的View,在view中加入了一個Label。
5.運行一下模擬器。事實上,你會發現你添加的label並未出現。
6.開啟WBAAppDelegate.h,添加如下內容:
#import "myAppViewController.h"
和
@property (nonatomic,retain)
myAppViewController *viewController;
7.開啟WBAAppDelegate.m,添加如下3行,具體位置
@synthesize viewController;
self.viewController =
[[myAppViewController alloc] initWithNibName:@"myViewController"bundle:nil];
[self.windowaddSubview:viewController.view];
解釋一下,添加的第二行為添加一個viewcontroller執行個體。這一句很重要,因為之前只是建立一個viewcontroller類,該行建立一個和xib檔案關聯的執行個體。添加的第三行向視窗添加控制器的視圖。
8.運行,成功!
如果第3步沒有選擇包含xib,則需要在做完上述步驟後,再完成如下操作(BTW:如果已經選擇了,又不想重做,可以刪除xib檔案)
9.添加User Interface 這次選View,
10. 起一個名字,如myViewController,
11.你將添加一個xib檔案myViewController.xib(當然還有一個View)。為了測試是否成功,在View中添加一個了Lable,
12.當然這還不算成功,還未將Controller與View關聯起來。
先選擇這個xib的File's Owner表徵圖,然後在其Identity Inspector中,將其基類由NSObject 改為 myViewController,這個類是你自己建立的了。
13.按住Control鍵,拖動File's Owner表徵圖到View表徵圖上,在彈出的Outlet面板中,選中View為其輸出口(Outlet)。
14.搞定!重新運行,顯示Lable。