web-dev-qa-db-ja.com

iOSでスプラッシュスクリーンを実装する

私は、Cocoa、Objective-C、iOS開発の初心者です。

スプラッシュスクリーンであり、メインビューにルーティングする前に短時間だけ続くビューを実装したいと思います。私はそれをどのように実装するべきかについて何か考えがありますか?チュートリアルやコードサンプルはありますか?複数のビューを持つものもありますが、数秒後に別のビューにリダイレクトするタイマーのあるものはありません。

41
Patrice Cote

IOSアプリケーションプログラミングガイドの App Launch(Default)Images を参照してください。

また、注意してくださいAppleスプラッシュスクリーンとして起動画像を乱用しないことをお勧めします。 Apple HIG

40
Espresso

メインビューの上に、ただしappDelegateにビューを簡単に実装できます。たとえば、メインビューにフェードアウトするスプラッシュ画像が必要な場合:(またはフェードアウトしているように見えるデフォルト画像:スプラッシュ画面とデフォルト画面に同じ画像を置くだけです)。これは、メインビューの方向である限り正しい方向を示します。

application:(UIApplication *)application didFinishLaunchingWithOptions:メソッドに追加するだけです:

 UIImageView*imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"your_default_image_or_another.png"]];
[[firstViewController view] addSubview:imageView];
[[firstViewController view] bringSubviewToFront:imageView];

// as usual
[self.window makeKeyAndVisible];

//now fade out splash image
[UIView transitionWithView:self.window duration:1.0f options:UIViewAnimationOptionTransitionNone animations:^(void){imageView.alpha=0.0f;} completion:^(BOOL finished){[imageView removeFromSuperview];}];
32
NightCoder

@Espressoがリンクを投稿したので、私はあなたにそれを説明したいだけです。

Default.pngという名前の画像をプロジェクト内に配置するだけで、スプラッシュスクリーンに使用されます。ただし、plistファイルで明示的に指定することにより、異なるイメージ名を使用できます。

12
Waqas Raja

私はほぼ1年前の質問に答えていることは知っていますが、他の誰かに役立つかもしれません。

XCode4でこれができることを発見しました!これは現在、これをかなり単純なプロセスにしています。

  1. ナビゲーションビューでプロジェクトを選択します
  2. [ターゲット]でアプリケーションを選択します
  3. [概要]タブを選択します
  4. 下にスクロールすると、スプラッシュ画像を追加する場所が表示されます
  5. ボックスを右クリックしてファイルを選択します
11
Bharat

他の答えは良いですが、iPhoneアプリの場合、Default.pngは320x480、網膜ディスプレイの場合は[email protected] 640x960を追加する必要があることを追加したいと思います。

6
nylund

XCode 4では、プロジェクト名(左側の階層の親)をクリックできます。

次に、概要タブで、iPhoneおよびiPadの下で、ファイルシステムの各フォームに対してLaunch imagesを選択できます。

4
Flaviu

スプラッシュ画面を追加するには、すべてのデフォルト画像([email protected]、....など)を同じデフォルト名(すべてのハードウェアディスプレイタイプ)のスプラッシュ画像に置き換えるだけです。スプラッシュスクリーンの継続時間を増やすには、appDelegateメソッドで

didFinishLaunchingWithOptions 

必要な期間だけメインスレッドをスリープさせます。

[NSThread SleepForTimeInterval:(Your time interval)];

また、sleep(time interval)を使用することもできます

didFinishLaunchingWithOptions

sleep(3);
3
user2834776

この同じ問題を自分で修正しなければならなかったので、アップデートを投稿すると思いました。

Info.plistでSupported Interface Orientationsを正しく動作させる前に設定する必要があることがわかりました。

IOSDeveloperTips.comでこの記事が非常に役立つこともわかりました。 複数の起動イメージの管理

3
HaemEternal

Default.png、Default-568h @ 2x.png、Default @ 2x.pngという名前のiPhone、iPhone 5、iPadの3つの画像を追加するだけです。画像の鮮明度は、撮影するサイズに依存します。標準サイズを取る必要があります。

2
Ashutosh

スプラッシュ画面を追加するには、まずその画像をプロジェクトに追加してから、次のコードをAppDelegateメソッドのdidFinishLaunchingメソッドに追加します

[NSThread SleepForTimeInterval:(Time interval)];
1
Ashwin H

IOSの世界では、 Launch Screen と呼ばれ、一般的なパターンです。

起動画面は、Xcodeストーリーボードとして、またはアプリがサポートするデバイス用の静的画像のセットとして提供できます。ストーリーボードは柔軟で適応性があるため、Xcodeストーリーボードを使用することをお勧めします。

たとえば、新しいシングルビュープロジェクトを作成すると、LaunchScreen.storyboardが自動的に生成されます。変更するには、<Project> -> General -> App Icons and Launch Images

0
yoAlex5