0

iOS 5 を使用しています。目的は、スプラッシュ スクリーン ビューにボタンを配置することです。Default.png は静的なイメージであるため、これは実行できません。最初の Viewcontroller が表示されるとすぐに modalViewController を表示しています。これはたまたま、TabController によってホストされる ViewController です。問題は、スプラッシュ画面が消えて SplashViewController が表示されるとすぐに(同じ画像でアクティブな)、ユーザーが下のビューを簡単に見ることができる小さなギャップがあることです。

アクティブなスプラッシュ ビューを表示するために presentModalViewController を使用しています。このグリッチを取り除く方法はありますか? 基礎となる viewcontroller の viewWillAppear メソッドで presentModalViewController を呼び出しています。私が必要としているのは、アクティブなスプラッシュ画面をこれより少し早く表示することだと思います

ありがとう

4

1 に答える 1

0

はい、できます - 私のアプリはまさにこれを行います。私がしたことは「didFinishLaunchingWithOptions:」で、最初に同じ起動イメージをウィンドウのサブビューとして UIImageView に追加しました。

UIImageView *launchView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default.png"]];
UIImageView *normalView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:<shorter version of launch image, allowing space for activity bar]];

[window addSubview:launchView];
if(isMember) {
    [window addSubview:normalView];
    normalView.alpha = 0; 

    [UIView animateWithDuration:0.25 animations:^
        {
            launchView.alpha    = 0;
            normalView.alpha    = 1; 
        }
        completion:^(BOOL finished)
        {
            [launchView removeFromSuperview];
        } ];
}

[window makeKeyAndVisible];

次に、1 つの rootViewController を持つナビゲーション コントローラーである tabbarcontroller を追加します。viewController とおそらく modalController backgroundColor を clearColor に設定することができます - これをいじる必要があります。

于 2012-08-17T13:33:06.440 に答える