2

アプリケーションにスプラッシュ スクリーンがあります。ただし、スプラッシュ画面は、アプリケーションが xcode から実行された場合にのみ表示され、シミュレーターから直接起動された場合には表示されません。

私を助けてください。

ありがとう。

4

3 に答える 3

1

詳細な情報なしでアドバイスするのは難しいですが、XCode から実行すると、起動時にデバッガーがアタッチされるため、アプリの読み込みに時間がかかるように思えますが、シミュレーター自体から起動すると起動が速くなります。あなたがそれを見るのに十分な時間画面にとどまりませんか?

標準の起動画面「defaultXXX.png」に追加のスプラッシュ画面を実装している場合、それをどのようにコーディングしたか詳しく説明していただけますか?

于 2010-06-30T07:27:17.763 に答える
1

どの SDK を使用していますか? 4 を使用している場合、おそらく問題はマルチタスクに関連しています。iOS4 のシミュレーターでは、アプリを起動したときに、アプリが以前に開かれていた場合、実際には起動せずにアプリを復元します。XCode からアプリケーションを開始すると、アプリケーションがシミュレーターに「コピー」され、「新しいインスタンス」が開始されます。

于 2010-06-30T08:25:01.043 に答える
1

アプリの delegate.h クラスで

UIImageView *myImgView;
 //---------methods to show and hide splash----------
 -(void)ShowSplash;
 -(void)hideSplash;

アプリ デリゲート .m クラス内

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
// Override point for customization after application launch.
   self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
[self ShowSplash];
[self.window makeKeyAndVisible];
return YES;
 }
 -(void)ShowSplash
 {
myImgView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
myImgView.backgroundColor=[UIColor colorWithRed:0 green:.3 blue:0.5 alpha:1];
myImgView.image=[UIImage imageNamed:@"splashscreen.png"];
[self.window addSubview:myImgView];
[self performSelector:@selector(hideSplash) withObject:nil afterDelay:1];
 }

 -(void)hideSplash
 {  
[UIView beginAnimations:@"flipping view" context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:myImgView.superview cache:YES];
[myImgView removeFromSuperview];
[UIView commitAnimations];
[myImgView release];
myImgView=nil;
self.window.rootViewController = self.viewController;

   }
于 2012-10-03T12:43:00.627 に答える