
AppDelegate.m ←在applicationDIDFinishLaunching區域中加入以下的步驟: 1、加入第一個vIEw controller的header file
#import "FirstVIEwController.h"
2、alloc init這個nav controller
navigationController = [[UINavigationController alloc] init];
3、加入這個nav controller到window的subvIEw中(用addSubvIEw) [window addSubvIEw:navigationController.vIEw]; 4、用第一個vIEw的controller建立一個新的vIEw controller,並用 initWithNibname初始化 FirstVIEwController *vIEwController = [[FirstVIEwController alloc] initWithNibname:@"FirstVIEw" bundle:nil]; 5、用nav controller的pushVIEwController將第一個vIEw顯現(不需要動畫所以animated設為NO) [navigationController pushVIEwController:vIEwController animated:NO]; 6、release剛push完的vIEw controller [vIEwController release]; 7、在dealloc方法中加入nav controller的release宣告 [navigationController release]; FirstVIEwControler.h ←加入一個- (IBAction)push:(ID)sender; FirstVIEwController.m 1、加入第二個vIEw controller的header file #import "SecondVIEwController.h" 2、實作push按鈕的action //2-1初始化 SecondVIEwController *secondVIEwController = [[SecondVIEwController alloc] initWithNibname:@"SecondVIEw" bundle:nil]; //2-2用pushVIEwController加入,動畫也設為YES [self.navigationController pushVIEwController:secondVIEwController animated:YES]; //2-3把這個加入過的vIEw controller給release [secondVIEwController release];
3、在vIEwDIDLoad方法中設Title(nav controller用的) self.Title = @"First"; SecondVIEwController.h SecondVIEwController.m 1、在vIEwDIDLoad方法中設Title(nav controller用的) self.Title = @"Second";
二、利用Interface Builder輔助載入vIEw的方式 (註:在建立一個新的project,選擇Navigation-based Application是直接完成以下的1~5步驟) (和上述的方式不同處是不需要管第一個要載入的root vIEw,只要設定好nav controller和app delegate的關係,以及設定好是root vIEw是那一個vIEw controller就會自動載入了) 1、建立新project選擇windows-based Application。AppDelegate.h中加入一個新的IBOutlet UINavigationController。 UINavigationController *navigationController; @property (nonatomic,retain) IBOutlet UINavigationController *navigationController; 2、在Classes新增一個新的檔案,選擇Cocoa touch Classes→UIVIEwController Subclass,並勾選Option With XIB for user interface,假設名稱為FirstVIEwController,完成後把.xib檔移至Resource資料夾中 3、雙點擊MainWindow.xib打開Interface Builder,從library中拉一個Navigation Controller到主視窗中(有file's Owner那個),點選Navigation Controller,然後點出Connection Inspector將設定如下圖。(按住ctrl從Connection Inspector直接拉往主視窗中的xxx App Delegate然後放開)
4、點選Navigation Controller下的Root VIEw Controller,點出Attributes和IDentity Inspector設定如下圖。
5、AppDelegate.m加入以下程式碼 @synthesize navigationController; ,並在applicationDIDFinishLaunching方法中加入 [window addSubvIEw:navigationController.vIEw]; dealloc方法中加入nav controller的release宣告 [navigationController release]; 此時第一個vIEw會正確先載入 6、依照2的說明再加一個新的vIEw controller,名稱為SecondVIEwController 7、再點擊MainWindow.xib打開Interface Builder,加入一個vIEw controller在最下方,依照第4點的方法選用SecondVIEwController 8、FirstVIEwControler.h ←加入一個- (IBAction)push:(ID)sender; 9、FirstVIEwController.m 加入第二個vIEw controller的header file #import "SecondVIEwController.h" 實作push按鈕的action //初始化 SecondVIEwController *secondVIEwController = [[SecondVIEwController alloc] init];
//用pushVIEwController加入,動畫也設為YES [self.navigationController pushVIEwController:secondVIEwController animated:YES]; //把這個加入過的vIEw controller給release [secondVIEwController release];
在vIEwDIDLoad方法中設Title(nav controller用的) self.Title = @"First"; SecondVIEwController.h SecondVIEwController.m 在vIEwDIDLoad方法中設Title(nav controller用的) self.Title = @"Second"; 总结
以上是内存溢出为你收集整理的Navigation Controller建立步驟全部内容,希望文章能够帮你解决Navigation Controller建立步驟所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)