XCode Splash Screen - für jedes Gerät individuell?

FrazeColder

Lt. Commander
Registriert
Okt. 2013
Beiträge
1.721
Moin zusammen,

ich bin derzeit dabei meine App für iOS zu finalisieren und nun am Splash Screen dran. Auf dem würde ich gerne einmal mein Hintergrundbild, welches ich in 3000x3000 habe, welches auch beschnitten und nicht skaliert werden soll, und mein App Logo, welches immer quadratisch sein soll, unterbringen. Nur irgendwie bekomme ich es nicht hin..

Ich habe mir schon die ganzen Splash Screen Generatoren angeschaut, nur die machen nicht das was ich will... Nun versuche ich es selber in XCode zu machen, aber wenn ich für ein Gerät die Auflösung ändere, beispielsweiße dem iPhone 6, macht er es auch für das iPad.. Und das will ich nicht, da XCode dann für das iPad eine andere, nicht qudratische Auflösung, nimmt und das Logo wieder verzerrt ist sowie auch der Hintergrund..

Ist es irgendwie möglich, für jedes Gerät ein unterschiedlichen Screen zu haben oder ist es möglich für alle Geräte zu sagen, dass das Hintergrundbild beschnitten werden kann, immer den Hintergrund komplett ausfüllen kann und immer quadratisch bleiben soll und das Logo immer quadratisch bleiben soll und immer in der Mitte vom Screen angezeigt werden soll?

Mit freundlichen Grüßen und Vielen Dank für eure Hilfe!
 
Dein Vorhaben ist mit Adaptive Layout ziemlich einfach zu bewerkstelligen. Füge zu deinem Hintergrundbild folgende Size Contraints hinzu:
- Align: Horizontally in container
- Align: Vertically in container
- Width: 3000px
- Height: 3000px
Damit wird das Bild aber auch nicht auf die größere Strecke skaliert und nur in eine Richtung beschnitten, sondern (so verstehe ich dein Vorhaben) mittig positioniert und in alle Richtungen beschnitten (Das Verfahren führt allerdings zu Rändern, sollte mal ein Gerät mit einer Auflösung >3000px erscheinen).
Dein Logo bekommt ebenfalls:
- Align: Horizontally in container
- Align: Vertically in container
Für die Größe gibt es auch eine Möglichkeit einen Skalierungsfaktor einzustellen, da weiß ich jedoch gerade nicht aus dem Kopf die Einstellung für. Eine feste Größe wäre eine Möglichkeit, führt jedoch zu einem abgeschnittenen Logo auf dem iPhone SE oder einem sehr kleinen Logo auf dem iPad Pro 12,9. Es gibt aber auf jeden Fall die Möglichkeit, einen Faktor (z.B. 0,8 * width) einzustellen.
 
Dank Dir, sieht ganz gut aus :)

Und gibt es jetzt noch die Möglichkeit im unteren mittigen Bereich auf allen Geräten einen kleinen Text hinzuzufügen?
 
Ja, das geht. Ein Label mit Align: Horizontally in container für mittige Positionierung und Abstand zu Bottom: etwa 10 px (kannst du wählen wie du willst, sollte aber etwas Abstand haben). Es sollte zwar von selbst passieren, aber du kannst ja mal drauf achten dass die Safe Areas von Face-ID Geräten eingehalten werden, sonst hast du dein Label bei 10px nämlich genau hinter der Home Bar ;)
 
Hmm.. ich finde es leider nicht.. Kannst Du mir Screens hochladen? (Bin noch neu was XCode angeht...)
 
So sieht das aus, heißt Spacing to nearest neighbour. Dabei ist zu Beachten, dass unter dem Label kein anderes Element mehr ist, da dies sonst als nearest neighbour gilt. Den Align hast du ja schon vom Bild. Safe Areas beachtet er übrigens automatisch, da ist keine Handarbeit mehr nötig.
Screenshot 2019-01-19 at 23.48.08.png

EDIT: Mit Aspect Ratio und den Spacings kannst du dein Icon skalieren. Aspect Ratio behält das Seitenverhältnis bei, und dann definierst du einen Abstand zum linken und rechten Rand. Damit das Icon auf iPads nicht zu groß wird, bietet es sich an noch für Width oder Height mit der Einstellung Less than or equal einen Maximalwert festzulegen.
 
Zuletzt bearbeitet:
Zurück
Oben