1.アプリケーションの構成
画面数に応じ、コントローラ、nibファイルを作成する。アプリケーションデリゲートは1つのみ。
・MainWindow.xibには、File's Owner, First Responder, App Delegate, ViewControllerとMainWindow(Window)がある。
・ビュー表示を管理するコントロールクラス(ルートコントローラクラス)を作成する。
ルートコントローラクラスは、他のビューを取り込んで、ユーザの操作とともに該当するビュー(コンテントビュー)を表示する。
・コンテントビューの表示にあたって、ルートコントローラクラスは、ルートコントローラのサブビューとして表示するコンテントビューを配置する。変更の操作がされた場合には、現在表示しているビューコントーラを追い出し、操作に応じたビューコントローラを取り込む。
・ コンテントビューは、ビューコントローラ、nib、UIViewのサブクラスから成る。
2.実装
2.1 アプリケーションデリゲートの作成
・新規プロジェクトとして、Window-base Applicationを作成する。
2.2 ルートコントローラクラスの作成
・新規ファイルとして、UIViewController subclass を作成する(XIB user interfaceはチェックしない)
2.3 コンテントビューコントローラクラスとnibファイルの作成
・ルートコントローラクラスと同様に作成する。
・新規ファイルとして、User InterfaceからView XIBを選択し、xibファイルを作成する
(XIB user Interface をチェックしてコンテントビューコントローラクラスを作成したほうがいいように思う)
2.4 アプリケーションデリゲートの修正
・Appdelegate.hにクラスの前方宣言で、ルートコントローラクラスを宣言、ルートコントローラクラスを定義し、アウトレット宣言する。
#import< UIKit/UIKit.h >
@class RootViewController;
@interface name_Appdelegate:NSObject
UIWindows * window;
RootView Controller *rootVieewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet RootViewController *rootViewController;
@end
・Appdelegate.mにルートビューコントローラクラスをインポートし、ウインドウにAddViewする。
#import "name_Appdelegate.h"
#import "RootViewController.h"
@implementation name_Appdelegate
@synthesize window;
@synthesize switchViewController;
-(void) applicationDidFinishLaunching:(UIApplication *) application{
[ window addSubview : rootViewController.view];
[ window makeKeyAndVisible ];
}
-(void) dealloc {
[ window release ];
[ rootViewController release ];
[ super dealloc ];
}
0 件のコメント:
コメントを投稿