2010年3月22日月曜日

iPhoneアプリ起動画面(Default.png)を起動後も少し表示させる

スズキです。

iPhoneアプリ起動時の画像(スプラッシュ画像)は、
ResourcesフォルダのDefault.png(320x480)となります。

この画像を起動時だけでなく、起動後も少しの間、表示したいと思い、
以下で紹介したNSTimerを利用してみました。
http://blog.suz-lab.com/2010/03/nstimeruiimageviewiphone.html

--------【XxxAppDelegate.m】--------
@synthesize window;
@synthesize tabBarController;

UIImageView *splashImageView;

- (void)applicationDidFinishLaunching:(UIApplication *)application {
  UIImage *splashImage = [UIImage imageNamed: @"Default.png"];
  splashImageView = [[UIImageView alloc] initWithImage:splashImage];
  [window addSubview:splashImageView];
  [NSTimer
    scheduledTimerWithTimeInterval:3.0
    target:self
    selector:@selector(onTimer:)
    userInfo:nil
    repeats:NO
  ];
}

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

- (void)onTimer:(NSTimer *)timer {
  tabBarController.selectedIndex = 1;
  [window addSubview:tabBarController.view];
  [splashImageView removeFromSuperview];
  [splashImageView release];
}
--------

"applicationDidFinishLaunching"にて先ずはDefault.pngを表示して、
[window addSubview:splashImageView];
何秒か時間がたったら、メインのビューを表示しています。
[window addSubview:tabBarController.view];

もっと、いい方法があるような気がする…

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

1 コメント:

ぜび さんのコメント...

sleep(x);

を使うとお手軽にウエイトを入れられるみたいです。

http://www.iphonedevsdk.com/forum/iphone-sdk-development/36637-increase-default-pngs-time-screen.html