it-swarm.com.de

So fügen Sie ein iPhoneX-Startbild hinzu

Mit der Xcode-Version 9.0 (9A235) versuche ich, ein Startbild für iPhoneX mit dem angeforderten 2436px × 1125px (Querformat) hinzuzufügen. Derzeit verwende ich ein Storyboard und es sieht so aus:

 enter image description here

'launchimage' ist eine mit einem Image-Set verknüpfte Image-Ansicht:

 enter image description here

Und das Image-Set lautet wie folgt:

 enter image description here

Der einzige Ort, an dem ich ein Bild in iPhoneX-Größe erhalten kann, befindet sich in einem Launch-Image-Set:

 enter image description here

Wenn ich jedoch versuche, ein Startbild in der Bildansicht im Storyboard auszuwählen, kann es nicht ausgewählt werden:

 enter image description here

Irgendwelche Hilfe, wie man das Startbild in der richtigen Größe für iPhoneX hinzufügt oder zurück zum Start von Bildern? Ich würde das Bild in der richtigen Größe bevorzugen, nicht das gestreckte.

AKTUALISIEREN:

Ich möchte erklären, warum das Bild genau das gleiche Pixel pro Pixel sein soll. Gemäß den Richtlinien in https://developer.Apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/ mein Startbild ist eine statische Version der ersten Seite der App . Wenn das Startbild gestreckt ist, wird ein bemerkenswerter Wechsel von Startbild zu Erste Seite angezeigt. Welche Art ist das Ziel der Richtlinien? Apple empfiehlt, einen Storyboard-Start zu verwenden, es scheint jedoch, dass Sie deren Richtlinien nicht befolgen können. Eigentlich typisch.

23
Christian Cerri

Bei Verwendung von Xcode Version 9.1 (9B55), dank der Antworten (besonders Stoull), ist meine Erfahrung etwas anders. Meine ursprüngliche Frage war im Wesentlichen: "Wie bekomme ich ein Startbild (in Storyboard oder LaunchImage), das mit dem bg der ersten Spielszene übereinstimmt, ohne dass bei allen Auflösungen ein Neuskalieren erfolgt?"

Ich habe dieses Problem gelöst und es funktioniert mit LaunchImage. Es gibt jedoch Komplikationen.

Fügen Sie dem Ordner Assets ein LaunchImage hinzu, und geben Sie es in den Projekteinstellungen an:

 enter image description here

Dann würden Sie folgendes erwarten:

 enter image description here

ergebend:

 enter image description here

ABER auf Build erhalten Sie die Warnung:

 enter image description here

also brauchen Sie das für das LaunchImage:

 enter image description here

ergebend:

 enter image description here

und es gibt keine Warnung .... und LaunchImage funktioniert auf allen iPhones/iPads.

Die Bildgrößen sind:

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

Netzhaut 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

Das System ist eindeutig unordentlich und muss von Apple ordnungsgemäß überarbeitet werden.

2
Christian Cerri

Wenn Sie den LaunchImage.launchimage für Launch verwendet haben, lautet die Lösung (in Xcdoe 9.0):

  1. Wählen Sie Assets.xcassets aus, klicken Sie mit der rechten Maustaste auf den mittleren Bereich und wählen Sie App Icons & launch Images -> New iOS Launch Image aus. Verschieben Sie dann die alten LaunchImage.launchimage-Bilder zu den neuen und fügen Sie die Bildgröße mit 1125×2436 px für das iPhoneX hinzu enter image description here enter image description here

  2. Sie können auch das folgende json-Objekt zur Contents.json-Datei hinzufügen, die sich im LaunchImage.launchimage-Ordner Ihres alten Projekts befindet. Nach dem Xcode-Aktualisieren fügen Sie einfach ein 1125 × 2436px-Bild ein. Wenn Sie ein Querformat benötigen, können Sie ein anderes mit der Ausrichtung hinzufügen.

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

39
Stoull

Für die 2018 lazy devs wie mich, die ein bestehendes Projekt mit einer alten Version von launchimage (ohne iPhoneX-Variante) haben, hier meine Lösung zur Unterstützung des iPhone X - dies ist eine Abkürzung für Sie.

  1. Öffnen Sie Assets.xcassets in Ihrem Xcode.
  2. Klicken Sie mit der rechten Maustaste in Ihr LanchImage und wählen Sie dann In Finder anzeigen aus.
  3. Öffnen Sie die Contents.json
  4. Fügen Sie die folgenden Codes in Ihr "images" -Array ein.
 {
  "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"
},

Ersetzen Sie natürlich den Dateinamen durch entsprechende Bilder. Voila!

18
Glenn

Wenn ich es richtig verstanden habe, verwenden Sie ein Storyboard als Startbildschirm mit Bildansicht, richtig?

Wenn ja, wählen Sie in Ihrem Launch Screen-Storyboard die Option als iPhone X aus:

 enter image description here

Fügen Sie dann Ihre Bildansicht hinzu, sodass sie den gesamten Bereich wie folgt ausfüllt:

 enter image description here

es ist wichtig, dies mit ausgewähltem iPhone X zu tun. Andernfalls würden Sie wahrscheinlich den Top Layout Guide ankoppeln, den Sie nicht möchten oben.

Ihre Konstanten sollten so aussehen (an Superview angeheftet):

 enter image description here

14
jonaszmclaren

Im Hochformat entspricht die Breite der Anzeige auf dem iPhone X dem Wert __. Die Breite der 4,7 "-Displays von iPhone 6, iPhone 7 und iPhone 8 . Das Display des iPhone X ist jedoch 145pt höher als ein 4,7" -Display. Dadurch entsteht etwa 20% zusätzlicher vertikaler Platz für Inhalte.

 enter image description here

Wahrscheinlich ist Ihr Bild in Ordnung, aber versuchen Sie, (cmd + K) zu reinigen und das Projekt neu zu erstellen.

Wenn dies nicht hilft, entfernen Sie dieses Bild aus Xcode und fügen Sie es erneut hinzu, indem Sie diese Bilder in Xcode ziehen. Und baue es neu auf. Es sollte funktionieren.

2
Vlad Khambir

Sie können ein größeres Bild als 3x Bild in Ihrem Bildsatz behalten! Ich meine 1125px × 2436px ist 3x Auflösung von 375pt × 812pt.

ersetzen Sie also in Ihrem Image-Set das alte 3x-Image durch die Image-havign-Größe von 1125px × 2436px und Ihr Startbildschirm (Storyboard oder Xib) wird sich nicht strecken, denke ich!

1
Lion

Ich entfernte die Bildansicht von xib und entfernte die abgeleiteten Daten & build . Wieder wurde die normale Bildansicht hinzugefügt und dann das Bild festgelegt, nachdem die Nebenbedingungen (führende, nachlaufende, obere, untere) zur Übersicht gesetzt wurden. Das hat gut funktioniert.

0

BEARBEITEN:
Ich wollte betonen, dass es möglich ist, Launch Image für iPhone X hinzuzufügen, aber @Christian Cerri bat um das Hinzufügen von NORMAL-Bildern zu Image View in LaunchScreen.storyboard speziell für iPhone X, was unmöglich ist.

Ursprüngliche Antwort:
Es gibt keine Möglichkeit, ein Bild speziell für das iPhone X zum Asset-Katalog hinzuzufügen (da @ 3x verwendet wird). Daher sollten Sie wahrscheinlich Startbilder dafür verwenden, wenn Sie ein anderes Bild nur für das iPhone X wünschen.

0
jonaszmclaren