5

スプラッシュ スクリーン (UILaunchImageFile) からメイン スクリーンにフェードすることで、アプリの開始をスムーズに進めたいと考えています。簡単なことだと思いました。スプラッシュ スクリーンを最初のビューとして UIImageView を表示し、次にトランジション アニメーションを作成するだけです。

問題は、これは 4 つの方向すべてがサポートされている iPad アプリであり、これらすべての方向のスプラッシュ スクリーンであるため、どのスプラッシュ スクリーンが使用されたかを照会する必要があることです。現在のデバイスの回転を照会して、それに応じて画像を選択することもできますが、もっと良い方法があるかどうか疑問に思います。

したがって、アプリの起動時にどの起動イメージが使用されたかを何らかの形で照会できますか、それともデバイスの現在の UI の向きを尋ねて、それに応じてファイルを選択する必要がありますか?

4

2 に答える 2

4

いいえ、これを自動的に行うことはできません。デバイスの回転を照会し、それに基づいて画像を選択することはまったく問題ありません。

ただし、ビューを適切に回転していると仮定すると、この状況では実際にはポートレートまたはランドスケープのみが必要です。

于 2011-04-28T16:13:12.753 に答える
3

ジョシュアがすでに述べたように、私が知る限り、あなたはできません。

これが他の誰かを助けるかもしれない場合、アセット catelogs を使用している場合、次のコードは現在のインターフェイスの向きの正しい起動イメージを提供する必要があります。

NSString *suffix = nil;

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    suffix = [[UIScreen mainScreen] bounds].size.height >= 568.0f ? @"-568h@2x" : @"@2x";
}
else {
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
    suffix = UIInterfaceOrientationIsPortrait(orientation) ? @"-Portrait" : @"-Landscape";
    suffix = [UIScreen mainScreen].scale == 2.0 ? [suffix stringByAppendingString:@"@2x~ipad"] : [suffix stringByAppendingString:@"~ipad"];
}

NSString *launchImageName = [NSString stringWithFormat:@"LaunchImage-700%@.png",suffix];
于 2014-01-02T12:16:05.443 に答える