提供されてアプリデリゲートに追加された領域にdefault.pngを配置したアプリを作成していますがsleep(5);
、現在は正常に動作しています。
私がする必要があるのは、アプリの起動時に複数の画像を追加することです。これにより、1つのスプラッシュ画面が2.5秒間表示され、別の画像が2.5秒間表示されます。
起動時に2つのスプラッシュ画面を表示するにはどうすればよいですか?
提供されてアプリデリゲートに追加された領域にdefault.pngを配置したアプリを作成していますがsleep(5);
、現在は正常に動作しています。
私がする必要があるのは、アプリの起動時に複数の画像を追加することです。これにより、1つのスプラッシュ画面が2.5秒間表示され、別の画像が2.5秒間表示されます。
起動時に2つのスプラッシュ画面を表示するにはどうすればよいですか?
2 つのスプラッシュ スクリーンは使用できません。2 番目の画像で満たされた UIImageView でビューコントローラーを作成し、2.5 秒間表示します。
メインビューの上にビューを簡単に実装できますが、appDelegate. たとえば、メイン ビューにフェード アウトするスプラッシュ イメージが必要な場合: (または、フェード アウトするように見えるデフォルト イメージ: スプラッシュ スクリーンとデフォルト スクリーンに同じイメージを配置するだけです)。これにより、メイン ビューである限り、正しい向きも得られます。
に追加するだけです
アプリケーション:(UIApplication *)アプリケーション didFinishLaunchingWithOptions:
方法:
UIImageView*imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"your_default_image_or_First.png"]];
[[firstViewController view] addSubview:imageView];
[[firstViewController view] bringSubviewToFront:imageView];
[NSThread SleepForTimeInterval:(2.5)];
[imageView setImage:[UIImage imageNamed:@"your_default_image_or_Second.png"]]
// as usual
[self.window makeKeyAndVisible];
//now fade out splash image
[UIView transitionWithView:self.window duration:1.0f options:UIViewAnimationOptionTransitionNone animations:^(void){imageView.alpha=0.0f;} completion:^(BOOL finished){[imageView removeFromSuperview];}];
画像をビュー コントローラーに追加し、2.5 秒後にビューから削除するだけです。
こんにちは、次のコードを試してみてください。本当にhwlpがいっぱいです。これを使用することをお勧めします.....
-(BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
MasterViewController *masterViewController = [[[MasterViewController alloc] initWithNibName:@"MasterViewController" bundle:nil] autorelease];
self.navigationController = [[[UINavigationController alloc] initWithRootViewController:masterViewController] autorelease];
UIImageView *imageView = [[[UIImageView alloc] initWithFrame:self.window.bounds] autorelease];
UIImage *image = [UIImage imageNamed:@"Welcome.png"];
if (!image)
{
NSLog(@"Something went wrong trying to get the UIImage. Check filenames");
}
imageView.image = image;
[self.window addSubview:imageView];
[self.window makeKeyAndVisible];
[self performSelector:@selector(removeFirstSplash:) withObject:imageView afterDelay:3];
return YES;
}
-(void)removeFirstSplash:(UIImageView *)oldImageView
{
UIImageView *imageView = [[[UIImageView alloc] initWithFrame:self.window.bounds] autorelease];
UIImage *image = [UIImage imageNamed:@"Splash.png"];
imageView.image = image;
[self.window addSubview:imageView];
[self performSelector:@selector(removeSecondSplash:) withObject:imageView afterDelay:3];
[oldImageView removeFromSuperview];
}
-(void)removeSecondSplash:(UIImageView *)oldImageView
{
[self.window addSubview:self.navigationController.view];
[oldImageView removeFromSuperview];
}