☉目標:在Window頁面加入UIViewController組件,讓UIViewController的畫面可以顯示在iPhone視窗。
☉步驟說明:
(1)選擇File->New Project->建立一個Window-based Application,我取名為LearnLoadMap(這是為了後面的範例而命名的)。
(2)在專案目錄裡面的Classes資料夾下新增檔案,建立一個UIViewController subclass,這裡我將檔案命名為mapPageController(這是為了後面的範例而命名的)。建立完畢後,專案目錄會多出mapPageController.h和mapPageController.m兩個檔案,專案目錄的畫面如下:
(3)雙擊專案目錄下的MainWindow.xib,就會開啟Interface Builder。在Interface Builder內,可以看到Library視窗,選擇ViewController組件,將它用滑鼠拖曳到左方的MainWindow.xib視窗內。
完成後可以在MainWindow.xib視窗中看到新增的ViewController組件。
(4)選擇MainWindow.xib視窗中的ViewController,接著到右手邊的View Identity視窗,在下拉式選單中選擇Class為mapPageController,也就是剛剛我們在步驟2建立的檔案(類別)。
選擇完成後,就會發現原本叫做View Controller的組件,名稱變成Map Page Controller。
@interface LearnLoadMapAppDelegate : NSObject { NSManagedObjectModel *managedObjectModel; NSManagedObjectContext *managedObjectContext; NSPersistentStoreCoordinator *persistentStoreCoordinator; UIWindow *window; UIViewController *vc1; } - (IBAction)saveAction:sender; @property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel; @property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext; @property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator; @property (nonatomic, readonly) NSString *applicationDocumentsDirectory; @property (nonatomic, retain) IBOutlet UIWindow *window; @property (nonatomic, retain) IBOutlet UIViewController *vc1; @end
在LearnLoadMapApDelegate.m加入第7行程式。synthesize語法用來表示變數是可以被存取與修改的,類似Public(?)。第16行, 用addSubview將我們建立的畫面加入window中 ,只有當view加入window之後才會真正顯示在畫面上。
#import "LearnLoadMapAppDelegate.h" @implementation LearnLoadMapAppDelegate @synthesize window; @synthesize vc1; #pragma mark - #pragma mark Application lifecycle - (void)applicationDidFinishLaunching:(UIApplication *)application { // Override point for customization after app launch [window addSubview:vc1.view]; [window makeKeyAndVisible]; }
(6)用Interface Builder建立vc1變數與使用者介面之間的關係
![未命名 -8 未命名 -8](http://lh4.ggpht.com/_raFhyN8Oads/SfkbNH4CnVI/AAAAAAAADA0/03FrZJyTVvo/Image.png?imgmax=800)
(7)最後,點選專案目錄的MainWindow.xib,可以看到如下圖的視窗。圖中左邊是View,右邊是Window。因為要驗證有正確的把View放置到Window上面,所以我在View上面放上UIView組件和UIButton組件。
![未命名 -10 未命名 -10](http://lh6.ggpht.com/_raFhyN8Oads/Sfke-I_0kAI/AAAAAAAADA8/8q-NQmYVP4A/Image.png?imgmax=800)
☉執行結果:
![IMG_0007 IMG_0007](http://lh5.ggpht.com/_raFhyN8Oads/Sfke_u4tSrI/AAAAAAAADBM/Ehq_fH5K1k4/IMG_0007_thumb%5B6%5D.png?imgmax=800)