0

アプリにスプラッシュ画面を追加したい。以下のコードを書いています。iOSシミュレーターでは表示されますが、デバイスでは表示されません。アドバイス

UIImageview *splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0, 320, 460)];
splashView.image = [UIImage imageNamed:@"default1.png"];


[self.window addSubview:splashView];
[self.window bringSubviewToFront:splashView];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:5.0];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:self.window cache:YES];
[UIView setAnimationDelegate:self]; 
[UIView setAnimationDidStopSelector:@selector(finishAnimation)];
splashView.alpha = 0.0;

[UIView commitAnimations];

..。

-(void)finishAnimation
{
    [splashView removeFromSuperview];
    self.window.rootViewController =self.navcontroller;
}

ログインページに直接表示されます

4

1 に答える 1

1

この問題は、画像のファイル名とコードで画像を参照するために使用する名前の大文字と小文字の違いが原因である可能性があります(default1.png)。プロジェクトナビゲータとコードで大文字と小文字が一致することを確認してください。

シミュレーターは通常大文字と小文字を区別しませんが(OSXインストールではデフォルトで大文字と小文字が区別されないため)、デバイスには大文字と小文字が区別されるファイルシステムがあります。

したがって、画像ファイルに(たとえば)名前が付けられていて、コード内Default1.pngの文字列を使用して呼び出すとdefault1.png、シミュレータでは機能しますが、デバイスでは機能しません。

于 2012-10-05T00:07:26.103 に答える