Appleのガイドラインによると、iPhoneアプリの起動画像/スプラッシュ画面は、アプリケーションの最初の画面に似た、事前にレンダリングされた静止画像である必要があります。
これに関するAppleのドキュメントへのリンクは次のとおりです。
1)起動画像、iOSヒューマンインターフェイスガイドライン:
2)アプリの起動(デフォルト)画像、iOSアプリプログラミングガイド:
どうすればこのような打ち上げ画像を簡単に作成できるのだろうか。ほとんどの場合、起動画像は空のステータスバー+ナビゲーションバー+空のテーブル/ビュー+タブバーの組み合わせである必要があり、それぞれがiOSの事前定義された配色でレンダリングされる必要があるようです。
しかし、これを行う方法についてのドキュメントが見つからず、これに関連していると思われるXcodeのエントリも見つかりません。起動画像を簡単にレンダリングするためのAppleの公式ツールはありますか?または、すべてのアプリ開発者は、モックアップiPhoneコントロールとPhotoshopを使用してこれを行うだけですか?
どんな助けでも大歓迎です。ありがとう。
それは大した問題ではないでしょう、あなたのメインスクリーン(空のタブバー、空のナビゲーションバー)または何でもの静的XIBファイルを作成してください。要素やラベルが配置されていない背景のみ。
この「空の」アプリケーションは、スクリーンショット機能が組み込まれているiPhoneシミュレーターで起動できます。 iPhone Simulator Cropper のような追加のソフトウェアを使用すると、画像を希望のサイズにトリミングできます。
それが私のアプローチです。
このためにXcodeに組み込まれているそのようなツールはないようです。セバスチャン・ランバが上で言ったのと同じ方法で、少し違いがありました。アプリのUIデザインにXcode4.2ストーリーボードを使用しました。Xcode4.2ストーリーボードでこれを行う手順は次のとおりです。
空のViewControllerを「オブジェクトライブラリ」からストーリーボードにドラッグします
最初の画面レイアウトに従って、空のナビゲーションバー/テーブルビュー/タブバー/その他のコンポーネントを上の新しいシーンに追加します
ストーリーボードのビューコントローラーをクリックします。ビューコントローラーの[属性インスペクター]に、[初期シーン:初期ビューコントローラー]というチェックボックスがあります。それを確認します。
Xcodeでアプリを起動すると、アプリの初期画面が作成したばかりの画面に設定されます。スクリーンショットを撮り、それを起動画像として使用します。
[初期シーン]チェックボックスをオンにして、初期シーンを実際の初期シーンに戻します。
一般的な考え方は同じなので、Sebastian Wrambaのソリューションを私の質問への回答としてマークします。Xcodeで専用のUIを作成するだけです。
Nibファイルのコンテンツを削除するのは面倒なので、コードアプローチを使用します。
コードはプロジェクトごとに異なります。しかし、あなたはその考えを理解するでしょう。
// uncomment to take a screenshot for the launch image
//#define SCREENSHOTMODE
- (void)viewDidLoad {
[super viewDidLoad];
/* regular stuff */
#ifdef SCREENSHOTMODE
self.navigationItem.leftBarButtonItem = nil;
self.navigationItem.rightBarButtonItem = nil;
self.title = nil;
[self deactivateContentForSubviewsInView:self.view];
#endif
}
#ifdef SCREENSHOTMODE
- (void)deactivateContentForSubviewsInView:(UIView *)contentView {
for (UIView *aView in contentView.subviews) {
if ([aView isKindOfClass:[UILabel class]]) {
[(UILabel *)aView setText:nil];
}
else if ([aView isKindOfClass:[UITableView class]]) {
[(UITableView *)aView setDataSource:nil];
}
else if ([aView isKindOfClass:[UIToolbar class]]) {
[(UIToolbar *)aView setItems:nil];
}
else if ([aView isKindOfClass:[UIImageView class]]) {
[(UIImageView *)aView setImage:nil];
}
else if ([aView isKindOfClass:[UIView class]]) {
// i often put views in UIViews to group them
[self deactivateContentForSubviewsInView:aView];
}
}
}
#endif
オブジェクトがほんの一握りしかない場合は、UI要素のコンテンツを直接削除できます。ループなし。
デバッグビルドでデータソースをifdefして、アプリが空で起動するようにしてから、ビルドして実行し、空のアプリのスクリーンショットを撮ります。ユーザーが少し待つことを提案するために、フォトショップを使用して商標画像またはいくつかのスプラッシュロゴをオーバーレイし、最も明白なコントロールを部分的にブロックする場合があります。面白いアプリの場合は、アプリの実行開始時にこれらのロゴアイコンのコピーをアニメーション化することもできます。
ニーズに合った最も簡単なソリューション-アプリケーションを起動し、初期状態のスクリーンショットを撮り(デバイスのホーム+電源ボタン)、出来上がり!必要に応じて、Appleの配色を使用した初期アプリの状態を含むNicepngファイルがあります。
それよりも簡単です。スマートフォンのスプラッシュ画面として配置する画像をプルアップします。画像をカメラロールに保存します。カメラロールで画像を開きます。全画面表示するには、画像をタップします。スクリーンショットを撮ります。その画像を電子メールでコンピュータに送信します。ファイルの末尾をPNGからpngに変更します。これは残念です:)画像をLaunchImage領域に追加します。ワラ! ;)
たとえば、ナビゲーションバーとタブバーを備えた単純な起動画面が必要な場合は、起動ファイルを使用することをお勧めします。 iOS 8以降では、静的な起動イメージの代わりにXIBまたはストーリーボードファイルを作成できます。
詳細については、次のリンクを参照してください: https://developer.Apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html
上記のすべてを設定します。ただし、再度デバッグする場合は機能しませんでした。シミュレーターとiPhoneからアプリを削除して、すぐに作業しました
IOS 8の起動画面XIBを使用して、シミュレーターを使用して静的な起動イメージを生成できます。これは、iOS7以前をサポートしている場合に実行する必要がある場合があります。
サポートする必要のあるデバイスごとに、このプロセスを繰り返します。スクリーンショットからステータスバーを削除するには、画像エディタを使用する必要がある場合があります。