2010年6月21日月曜日

"Interface Builder"を使わない開発(iPhone/iPad)

スズキです。

使わない方が、僕にはあってるようです。(全ソースは下記です)
http://code.google.com/p/suz-lab-ios/source/browse/?r=9#svn/trunk/FutsalBoard

(1) "Window-based Application"プロジェクトを作成します。

(2) "MainWindows.xib"を削除します。

(3) "FutsalBoard-Info.plist"から"Main nib file base name"を削除します。
http://code.google.com/p/suz-lab-ios/source/browse/trunk/FutsalBoard/FutsalBoard-Info.plist?r=9

(4) "main.m"のUIApplicationMainの第四引数に
該当デリゲート"FutsalBoardAppDelegate"を指定します。
--------【main.m】--------
...
int main(int argc, char *argv[]) {
  NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
  int retVal = UIApplicationMain(argc, argv, nil, @"FutsalBoardAppDelegate");
  [pool release];
  return retVal;
}
--------
http://code.google.com/p/suz-lab-ios/source/browse/trunk/FutsalBoard/main.m?r=9

(5) 実際のデリゲートは下記のような感じです。
--------【FutsalBoardAppDelegate.m】--------
#import "FutsalBoardAppDelegate.h"
#import "FutsalBoardTabBarController.h"
#import "BoardViewController.h"

@implementation FutsalBoardAppDelegate

UIWindow *window;
UITabBarController *tabBarController;

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // View
  UIViewController *viewController = [[BoardViewController alloc] init];
  // Tab
  tabBarController = [FutsalBoardTabBarController new];
  [tabBarController setViewControllers:[
    NSArray arrayWithObjects:viewController, nil]];
  tabBarController.view.backgroundColor = [UIColor whiteColor];
  // Release
  [viewController release];
  // Window
  window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  [window addSubview:tabBarController.view];
  [window makeKeyAndVisible];
  return YES;
}

- (void)dealloc {
  [tabBarController release];
  [window release];
  [super dealloc];
}

@end
--------
http://code.google.com/p/suz-lab-ios/source/browse/trunk/FutsalBoard/Classes/FutsalBoardAppDelegate.m?r=9

これで、"Interface Builder"を使わずにアプリを作成する土台ができました。

--------
http://www.suz-lab.com

0 コメント: