UIViewControllerを実装してみる | ゆぅさんのiPhone開発技術関連ブログ

ゆぅさんのiPhone開発技術関連ブログ

iPhone開発についての技術まわりのことを切り出して書き込みします。

UIViewControllerを使ってみよう!のめもめも叫び

UIViewControllerはビューをあれこれ操作するために使うクラスで、
これ自体は表示機能そのものをもってるわけじゃなくて、
ビューをまわりからぐるっと囲んでサポートしてくれるクラス・・・?
って感じにとらえてるんだけど。。。認識はいまいち。。

自分でゲーム作ったりしてると、あんまり必要性を感じなかったのだけど、
ios5用に普通に作ると、

Applications are expected to have a root view controller at the end of application launch

という注意ワーニング注意がでて、ルートビューコントローラが設定されてませんよぉ~って言われてしまう。
・・・特に問題はなさそうなので無視してたのですが。

時代は、ビューコントローラを求めている、のかな?
とにかくワーニングがでないように対処。

前回のUIImageViewのサンプルで、AppDelegateの
application: didFinishLaunchingWithOptions:
メソッドの部分のソースです。


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];


UIView* oya = [[UIView alloc]init];
oya.frame = CGRectMake(0, 0, 320, 480);

UIImageView* image = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"image.png"]];
image.center = CGPointMake(160, 240);
[oya addSubview:image];


UIViewController* vc = [[UIViewController alloc]init];
[self.window setRootViewController:vc];
[self.window addSubview:oya];

[self.window makeKeyAndVisible];
return YES;
}



ビューコントローラを設定してるのは

UIViewController* vc = [[UIViewController alloc]init];
[self.window setRootViewController:vc];

この2行。ここで、UIWindowクラスにルートビューコントローラが設定できる。
ちなみに、UIWindowはUIViewのサブクラス。

これでOKグッド!
ワーニング消えたぜぃ!


ビックリマーク【3/10追記】
ちょっと使い方間違ったかも・・・
こっち見てください。
UIViewControllerちょっと違ったかも??