nibファイルを使わないテンプレートを作る(2)View-Based Application
(前の記事:nibファイルを使わないテンプレートを作る(1)Window-Based Application)
今回は、iPhone用のView-Based Application をカスタマイズします。
テンプレート View-Based Application をコピーする
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
にある View-Based Application フォルダを
~/Library/Application Support/Developer/Shared/Xcode/Project Templates/Application/
にコピー。
フォルダ名を My View-Based Application に変更します。
main.m を編集する
以下の1行を編集します。
変更前
int retVal = UIApplicationMain(argc, argv, nil, nil);
変更後
int retVal = UIApplicationMain(argc, argv, nil, @"___PROJECTNAMEASIDENTIFIER___AppDelegate");
MainWindow.xib を削除する
削除しちゃいます。
Info.plist を編集する
Main nib file base name を削除します
___PROJECTNAMEASIDENTIFIER___AppDelegate.m を編集する
applicationDidFinishLaunching:メソッドを編集します。
変更前
- (void)applicationDidFinishLaunching:(UIApplication *)application { // Override point for customization after application launch [window addSubview:viewController.view]; [window makeKeyAndVisible]; }
変更後
- (void)applicationDidFinishLaunching:(UIApplication *)application { UIWindow *w = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window = w; self.viewController = [[___PROJECTNAMEASIDENTIFIER___ViewController alloc] initWithNibName:nil bundle:nil]; [window addSubview:viewController.view]; [window makeKeyAndVisible]; [w release]; }
___PROJECTNAMEASIDENTIFIER___ViewController.xib を削除する
削除しちゃいます。
___PROJECTNAMEASIDENTIFIER___ViewController.m を編集する
loadView メソッドを以下のように実装します。
- (void)loadView { UIView *contentView = [[UIView alloc] initWithFrame: [[UIScreen mainScreen] applicationFrame]]; contentView.backgroundColor = [UIColor whiteColor]; self.view = contentView; [contentView release]; }
完成
次はTab Bar Applicationをカスタマイズする予定。