web-dev-qa-db-ja.com

iPhoneX起動イメージを追加する方法

Xcodeバージョン9.0(9A235)を使用して、要求された2436px×1125px(ランドスケープ)でiPhoneXの起動イメージを追加しようとしています。現在、ストーリーボードを使用していますが、次のようになります。

enter image description here

「launchimage」は、画像セットにリンクされた画像ビューです。

enter image description here

画像セットは次のとおりです。

enter image description here

IPhoneXサイズの画像を取得できる唯一の場所は、Launch Imageセットです。

enter image description here

しかし、ストーリーボードの画像ビューで起動画像を選択しようとすると、選択できません。

enter image description here

IPhoneXに適切なサイズの起動画像を追加する方法に関するヘルプはありますか、それとも起動画像に戻りますか?引き伸ばされた画像ではなく、正しいサイズの画像を好むでしょう。

更新:

ピクセルごとにまったく同じピクセルにする必要がある理由を説明したいと思います。 https://developer.Apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/ のガイドラインに従う=私の起動画像は最初のページの静的バージョンですアプリの。起動画像が引き伸ばされている場合、起動画像から最初のページへの顕著な切り替えがあります。どの種類がガイドラインの目的に反するか。 Appleストーリーボードの起動を使用することをお勧めしますが、そうするとガイドラインに従うことができないようです。典型的な、本当に。

25
Christian Cerri

上記の回答(特にStoull)のおかげで、Xcodeバージョン9.1(9B55)を使用していますが、私の経験は少し異なります。私の元々の質問は、基本的に「すべての解像度でリスケーリングブリップなしで最初のゲームシーンのbgに一致する起動イメージ(ストーリーボードまたはLaunchImage)を取得する方法ですか?」でした。

これを解決し、LaunchImageを使用して動作します。ただし、合併症があります。

LaunchImageをAssetsフォルダーに追加し、プロジェクト設定で指定します。

enter image description here

次に、これを行うことを期待するでしょう:

enter image description here

その結果:

enter image description here

しかし、ビルド時に警告が表示されます:

enter image description here

launchImageにはこれが必要です:

enter image description here

その結果:

enter image description here

警告はありません。..そして、LaunchImageはすべてのiPhone/iPadで動作します。

画像サイズは次のとおりです。

iPhoneX(iPhone X Landscape iOS 11+):2436 x 1125

Retina HD 5.5 "(iPhone Landscape iOS 8,9):2208 x 1242

2x(iPhone Portrait iOS 7-9):640 x 960

Retina4(iPhone Portrait iOS 7-9):640 x 1136

1x(iPad Landscape iOS 7-9):1024 x 768

2x(iPad Landscape iOS 7-9):2048 x 1536

システムは明らかに乱雑であり、Appleによる適切な改造が必要です。

2
Christian Cerri

LaunchにLaunchImage.launchimageを使用した場合、解決策は(Xcdoe 9.0で)です。

  1. Assets.xcassetsを選択し、中央のペインを右クリックして、App Icons & launch Images-> New iOS Launch Imageを選択します。次に、古いLaunchImage.launchimageイメージを新しいイメージに移動し、iPhoneXの1125×2436 pxでイメージサイズを追加します。 enter image description hereenter image description here

  2. また、次のjsonオブジェクトを、古いプロジェクトのContents.jsonフォルダーにあるLaunchImage.launchimageファイルに追加できます。Xcodeが更新されたら、1125×2436pxの画像をドロップします。ランドスケープが必要な場合は、方向に別のランドスケープを追加できます。

    {
      "extent" : "full-screen",
      "idiom" : "iphone",
      "subtype" : "2436h",
      "minimum-system-version" : "11.0",
      "orientation" : "portrait",
      "scale" : "3x"
    }
39
Stoull

launchimage(iPhoneXバリアントなし)の古いバージョンを持つ既存のプロジェクトを持っている私のような2018年の怠け者には、iPhone Xをサポートするための私のソリューションがあります-これはあなたのためのショートカットです。

  1. XcodeでAssets.xcassetsを開きます。
  2. LanchImageを右クリックして、「Finderに表示」を選択します。
  3. Contents.jsonを開きます
  4. 次のコードを"images"配列に貼り付けます。
 {
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "2436h",
  "filename" : "ipxportrait.png",
  "minimum-system-version" : "11.0",
  "orientation" : "portrait",
  "scale" : "3x"
},
{
  "extent" : "full-screen",
  "idiom" : "iphone",
  "subtype" : "2436h",
  "filename" : "ipxlandscape.png",
  "minimum-system-version" : "11.0",
  "orientation" : "landscape",
  "scale" : "3x"
},

もちろん、ファイル名を適切な画像に置き換えてください。出来上がり!

19
Glenn

私が正しく理解していれば、ストーリーボードを画像表示付きの起動画面として使用していますか?

その場合、Launch ScreenストーリーボードでiPhone Xとして表示するように選択します。

enter image description here

次に、画像ビューを追加して、次のように領域全体を埋めます。

enter image description here

それを0の定数でスーパービューに固定します。そうしないと、おそらくあなたがしたくないトップレイアウトガイドに固定するため、iPhone Xを選択した状態でこれを行うことが重要です。上。

制約は次のようになります(Superviewに固定):

enter image description here

15
jonaszmclaren

縦向きでは、iPhone Xのディスプレイの幅は、iPhone 6、iPhone 7、およびiPhone 8の4.7 "ディスプレイの幅と一致します。ただし、iPhone Xのディスプレイは、4.7"ディスプレイよりも145pt高く、コンテンツ用に約20%の追加垂直スペース。

enter image description here

おそらく、イメージは問題ありませんが、(cmd + K)をクリーニングして、プロジェクトを再構築してみてください。

それでも解決しない場合は、この画像をXcodeから削除し、それらの画像をXcodeにドラッグして再度追加します。そして、それを再構築します。動作するはずです。

2
Vlad Khambir

画像セットに3x画像として大きなサイズの画像を保持できます! 1125px × 2436px3x375pt × 812pt解像度です。

そのため、イメージセットで古い3xイメージを1125px × 2436pxのイメージサイズに置き換えると、起動画面(ストーリーボードまたはxib)が伸びません。

1
Lion

Xibから画像ビューを削除し、派生データを削除してビルドしました。再度、プレーンビューを追加し、スーパービューに制約(先頭、末尾、上部、下部)を設定した後に画像を設定しました。それはうまくいきました。

0

編集:
iPhone X用のLaunch Imageを追加できることを強調したかったのですが、@ Christian Cerriは、iPhone X専用のLaunchScreen.storyboardのImage ViewにNORMAL画像を追加するように求めていました。

元の回答:
iPhone X専用の画像をアセットカタログに追加することはできません(@ 3xを使用しているため)。iPhoneX専用の別の画像が必要な場合は、おそらく起動画像を使用する必要があります。

0
jonaszmclaren