ラベル UIWindow の投稿を表示しています。 すべての投稿を表示
ラベル UIWindow の投稿を表示しています。 すべての投稿を表示

2010年8月31日火曜日

IBを使わない場合のviewとviewControllerの作成

View-basedApricationテンプレートを使用する場合、viewとviewControllerを自作する必要がある。

1.
(プロジェクト名)AppDelegate.mファイルの、application:didFinishLaunchingWithOptionsメソッドで、UIWindowとUIViewController(を継承したRootViewController)を作成してUIWindowに追加する。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

RootViewController *viewController = [[RootViewController alloc] init];
navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
[viewController release];

[window addSubview:navigationController.view];
[window makeKeyAndVisible];

return YES;
}

2.
UIViewCOntrollerクラスのloadViewをオーバーライドして、self.viewにviewを追加する。

-(void)loadView{
CGRect bounds = [[UIScreen mainScreen] applicationFrame]; 
UIView *contentView = [[UIView alloc] initWithFrame:bounds];

contentView.backgroundColor = [UIColor redColor];
self.view = contentView;

[contentView release];
}

参考PDF:iPhone OS View Controller プログラミングガイド プログラムによるビューの作成

2010年8月25日水曜日

UIWindowの作成

ウインドウの最初のフレームサイズは、必ず画面全体を覆うように設定するべきです。
プログラミングによってウインドウを作成する場合は、作成時に望みのフレーム矩形を明示的に渡渡さなければなりません。画面の矩形と異なる矩形は渡さないでください。画面の矩形は、UIScreenオブジェクトから次のようにして取得できます。
UIWindow* aWindow = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]bounds]] autorelease];
参考PDF:
iPhone OS View Controller プログラミングガイド
iPhone アプリケーションプログラミングガイド