web-dev-qa-db-ja.com

iOS8用のLaunchScreen.xibの作成(... iOS11、Swift 4およびLaunchScreen.storyboard)

アプリストアでアプリの説明を表示できるようにするために、「このアプリはiPhone6およびiPhone6Plus用に最適化されています」と言っていることがわかりました。起動イメージには起動XIBまたはストーリーボードファイルを使用する必要があります([Apple] [1]による)。

それで、私は新しいLaunch Screen xibを作成しました、そして今私は少しですが、私は通常すべてをコードで行い、InterfaceBuilderを使用しないので。 UIImageViewをビューに挿入してドロップしたデフォルトのラベルを削除しました。今、私はどのように私が疑問に思っています:

1)UIImageViewに、表示されている画面のサイズにサイズ変更するように指示します

2)3.5インチの画面でアプリが実行されている場合はImageAを、4インチの画面でアプリが実行されている場合はImageBを選択するようにUIImageViewに指示します。

基本的に、私は起動.xibを取得して、起動画面が正常に機能する動作を模倣しようとしています。誰かがこれについていくつかの援助を提供することができればそれをいただければ幸いです!

8
Ser Pounce

2つのオプションがあります。

  1. 自動レイアウトを利用して、imageviewにフルスクリーンの外観を与えます(上、下、左、右への距離は0に等しい)。ただし、これにより、特定の画面サイズで画像がクリッピングされる可能性があります。したがって、(2)を検討することをお勧めします

  2. 起動画面の画像をアセットカタログに配置し、さまざまな画像をさまざまなサイズのクラスに配置します。

7

答えは役に立ちました。

IOS用のLaunchScreenxibを作成するための古い手順8以下新しいステップ。

XCode 9、Swift 3またはSwift 4およびLaunchScreen.storyboardを参照して、次の新しい手順を実行します。 。

最初のステップは、お気に入りのグラフィックソフトウェアでポートレートモードとランドスケープモードのスプラッシュ(pngまたはjpeg)用の2つの画像を作成することです。 (アプリがポートレートモードのみをサポートしている場合は、ランドスケープモードの画像と設定をスキップできます。)

ポートレートモードの画像:-

「幅1125x高さ2436」のサイズの独自の完全な背景を持つ「スプラッシュポートレート」画像を作成します。背景はさまざまなサイズのデバイスでクリップされることに注意してください。

どちらの情報、グラフィック、クリップしたくない場合でも、上の画像の中央に「幅1125 x高さ1471」のサイズで作成する必要があります。これは常に上のフル画像の中央にある必要があります。

横向きモードの画像:-

「幅2436x高さ1125」のサイズの独自の完全な背景を持つ「スプラッシュランドスケープ」画像を作成します。背景はさまざまなサイズのデバイスでクリップされることに注意してください。

どちらの情報、グラフィック、クリップしたくない場合でも、上の画像の中央に「幅860x高さ1125」のサイズで作成する必要があります。これは常に上のフル画像の中央にある必要があります。

両方の画像の準備ができたら、それをxcassetsに追加するか、リソースに保持することができます。

次に、次の手順に進みます。

1)「LaunchScreenストーリーボード」は新しいプロジェクトですでに作成されています。それを開く。

2)ビューに画像ビューを追加します。

3)上記で保存した「スプラッシュポートレート」画像を画像ビューソースに設定します。

4)画像の画像ビュー「コンテンツモード」を「アスペクトフィル」に設定します。

5)スーパービューへのトップ、ボトム、トレーリング、リーディングの画像ビューの4つの制約を追加します。

これは、portraitモードのアプリスプラッシュに対して行われます。

landscapeモードをサポートするには、次の追加手順を実行します。 (https://stackoverflow.com/a/46089856/2641380で@Sakiboyによる完全な回答を参照できます)

6)手順3で設定した画像ビューソースの横にある[+]ボタンをクリックします。

7)表示されたポップアップから、[幅]セレクターと[高さ]セレクターの両方で[通常]を選択します。これは、横向きのiPad用の新しいアダプティブセットを指定しています。新しい画像ソースフィールドがwRhRというタイトルで表示されます。 'splash-landscape'画像をwRhR Image sourceフィールドに追加して、ストーリーボードが横向きのときに別の画像を使用することを認識できるようにします。

8)ランドスケープでは、「iphoneplus」デバイスのサポートを追加する必要があります。したがって、[画像ソース]フィールドの横にある[+]ボタンをもう一度クリックします。

9)今回は、高さはコンパクト、幅セレクターはレギュラーを選択します。これは、横向きの「iPhoneplus」デバイス用の新しいアダプティブセットを指定しています。新しい画像ソースフィールドがwRhCというタイトルで表示されます。

10)「スプラッシュランドスケープ」画像をwR hC画像ソースフィールドに追加して、ストーリーボードが「iPhoneplusデバイス」のランドスケープで別の画像を使用することを認識できるようにします。

IPadデバイスは「幅と高さの両方で通常」であるため、iPadではポートレートモードとランドスケープモードの両方で「スプラッシュランドスケープ」画像が表示されます。 'splash-landscape'画像で表示可能なコンテンツの幅860は、縦向きモードと横向きモードの両方で完全なコンテンツを表示します。

iOS8用のLaunchScreenxibを作成するための古い手順

1)新しいファイル->ユーザーインターフェイス->起動画面から新しい「LaunchScreenxib」を作成します(自動レイアウトをオンのままにします)。

2)xib->ビュー(メインビュー)に画像ビューを追加します。

3)スプラッシュ画像をそれに設定します(画像はアセットファイルにあるべきではありません)。

4)画像を「アスペクトフィット」に設定します(必要な場合)。

5)「ビュー」(スーパービュー)の背景色を画像の背景色に近づけることもできます。

6)画像ビューを選択し、メニュー-エディター-ピン-下部スペースからスーパービューをクリックします。

7)これにより、「ビュー」(画像ビューのスーパービュー)の近くに赤いエラーマークが表示されます。

8)エラーマークをクリックすると、おおよそ2つの自動レイアウトエラーが表示されます。

9)エラーをクリックすると、レイアウトエラーを自動修正するメニューが表示されます。

10)エラーを修正すると、スーパービューと画像の間に「垂直」と「水平」のスペースがある合計4つの「制約」が見つかります。

11)これで、さまざまなデバイスまたはシミュレーターでそれらをテストできます。

よろしく。

5
SHS

スーパービューの上部、下部、前縁、後縁に制約を設定することで、画像のサイズを変更できます。イメージビューをクリックして、[エディター]-> [トップコンテキストメニューにピン留め]を選択するだけです。 UIImageViewをクリックして、たとえば「アスペクトフィット」に設定することで、UIImageViewのアスペクトを設定することもできます。制約を設定する前に、ImageViewが画面全体をカバーしていることを確認してください。そうでない場合は、制約を変更する必要があります。

画面サイズごとに異なる画像を設定するには、クラスを作成し、viewWillAppearメソッドを変更して適切な画像を読み込む必要があると思います。

幸運を!エリック

1
Erik

アプリが表示されたときにアプリが起動しなかったため、Launchxibにカスタマイズされたクラスを含めることはできません。私がやったことは:

  1. サイジングクラス機能を使用する
  2. 3つのUIイメージを作成します(サイジングクラスごとに1つ)
  3. 各サイジングクラスに適用される制約付きの自動レイアウトを使用する

したがって、1つのタイプのデバイスを表示すると、他の2つのUIImageViewの幅と高さの制約が0に設定されます。

0
Zeev Vax