2011-08-24 10 views
1

iPadアプリを起動しているときに「スプラッシュ画面」を作りたいと思います。開始時にデフォルト - [風景|ポートレート]〜ipad.pngが表示されます同じ画像を自分で追加してフェードアウトさせたい。iPad:向きに応じてapplicationDidFinishLaunching中にフルスクリーンイメージを追加する

問題は、applicationDidFinishLaunching中の方向です。画像を修正してUIWindow(これは肖像画のように見える)に追加することを決定する問題があります。

起動時にフルスクリーンイメージを追加してから、どのようにフェードアウトさせることができますか?

ありがとうございました!

+0

UIのガイドラインに記載されているように、「スプラッシュスクリーン」を使用することは悪い習慣と考えられ、アップルによって積極的に推奨されていません。最後の状態のスクリーンショットまたはアプリケーションの最も可能性の高い状態の写真のいずれかを表示して、読み込み速度の感覚を与え、ユーザーの不安を軽減し、すぐに「アクティブモード」に移行するはずです。 – Kheldar

答えて

2

あなたはviewDidLoadであなたのRootViewController.viewflashViewを追加することができます。

flashView = [...]; // save reference to this object 
flashView.alpha = 1.0; 
[self.view addSubview:flashView]; 

そしてRootViewControllerviewDidAppearで0.0からapplicationDidFinishLaunchingアニメイトアルファプロパティの後:

NSTimeInterval duration = 1.0; 
int curve = UIViewAnimationCurveLinear; 

// Setup the animation 
[UIView beginAnimations:@"splash fade out" context:NULL]; 
[UIView setAnimationDuration:duration]; 
[UIView setAnimationCurve:curve]; 
[UIView setAnimationBeginsFromCurrentState:YES]; 

// change alpha 
flashView.alpha = 0.0; 

// Commit the changes 
[UIView commitAnimations]; 
+0

はい、しかし、どのようにviewDidLoadで方向を取得するには?両方とも、デバイスとself.interfaceOrientationは、私が間違っている風景から始まっていると私に教えてくれます... – swalkner

+0

ビューフレームのサイズを確認しようとすると、正しいでしょうか? – Nekto

1

application:didFinishLaunchingWithOptions:時のオリエンテーションで発生したトラブルの解決法が期待されているが動作;このトピックの前の質問についてはGet launch orientation of iPad appを参照してください。

最高の解決策は、ルートビューコントローラでスプラッシュ画面を表示させるか、UIModalTransitionStyleCrossDissolveのモーダルビューコントローラを使用してスプラッシュ画面を表示することです。そうすれば、通常のview rotation eventsに反応し、必要に応じてスプラッシュ画面のイメージを変更できます。

それとも、UIDeviceのorientationプロパティを読み取ることができるかもしれないが、あまりにも遅くまで(あなたがapplication:didFinishLaunchingWithOptions:からbeginGeneratingDeviceOrientationNotificationsを呼び出す場合でも)これも更新されないことは確かに可能です。

+0

しかし、私はそれが正しい方向を得るためにそれを管理していない...それは私が風景で始まっているが、私は肖像画であると私に言っている... – swalkner

+1

@swalkner:あなたはリンクされた答えをお読みですか? Appleは 'application:didFinishLaunchingWithOptions:'の間にオリエンテーションが肖像画になると書いています。そのメソッドが戻った後のある時点で、通常のUIViewController回転メカニズムを使用して、インターフェイスを実際の向きに回転させます。 UIViewControllerからスプラッシュ画面を表示し、通常のビュー回転イベントを使用して、必要に応じて画像の向きを調整することをお勧めします。 – Anomie

関連する問題