アプリケーションにスプラッシュ スクリーンがあります。ただし、スプラッシュ画面は、アプリケーションが xcode から実行された場合にのみ表示され、シミュレーターから直接起動された場合には表示されません。
私を助けてください。
ありがとう。
アプリケーションにスプラッシュ スクリーンがあります。ただし、スプラッシュ画面は、アプリケーションが xcode から実行された場合にのみ表示され、シミュレーターから直接起動された場合には表示されません。
私を助けてください。
ありがとう。
詳細な情報なしでアドバイスするのは難しいですが、XCode から実行すると、起動時にデバッガーがアタッチされるため、アプリの読み込みに時間がかかるように思えますが、シミュレーター自体から起動すると起動が速くなります。あなたがそれを見るのに十分な時間画面にとどまりませんか?
標準の起動画面「defaultXXX.png」に追加のスプラッシュ画面を実装している場合、それをどのようにコーディングしたか詳しく説明していただけますか?
どの SDK を使用していますか? 4 を使用している場合、おそらく問題はマルチタスクに関連しています。iOS4 のシミュレーターでは、アプリを起動したときに、アプリが以前に開かれていた場合、実際には起動せずにアプリを復元します。XCode からアプリケーションを開始すると、アプリケーションがシミュレーターに「コピー」され、「新しいインスタンス」が開始されます。
アプリの 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;
}