iOS 5.1を使用してアプリケーションを開発していますが、default.pngファイルで奇妙な動作が発生しています。
次のファイルをアプリケーションに追加しました。
Default.png-(iPhone)
Default@2x.ping-(iPhone Retina)
デフォルト-Portrait〜ipad.png-(iPad)
デフォルト-Portrait@2x~ipad.png-(iPad Retina)
アプリケーションが起動すると、その都度使用する正しいDefault.png画像が選択されているようです。ただし、私のAppDelegateには、アプリケーションの読み込みとアプリへの移行をスムーズにするためのシンプルなスプラッシュ画面があり、次のようなことを行っています。
UIImageView *splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,window.frame.size.width, window.frame.size.height)];
splashView.image = [UIImage imageNamed:@"Default"];
[window addSubview:splashView];
[window bringSubviewToFront:splashView];
ただし、[UIImage imageNamed:@"Default"]
順番に各デバイスに正しいファイルが選択されるわけではなく、問題は-Portrait
ファイル名の一部にあると思います。
簡単な解決策として、私はこれを行いました:
if( ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) ) {
// Force the image used by ipads
if( [[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2.0) {
splashView.image = [UIImage imageNamed:@"Default-Portrait@2x~ipad"];
}
else {
splashView.image = [UIImage imageNamed:@"Default-Portrait~ipad"];
}
}
else
splashView.image = [UIImage imageNamed:@"Default"];
これは私がこれを行うべき方法ですか?これはあなたにとって面白そうですか?