2017-04-04 14 views
1

Ich möchte, dass meine App ein anderes Launch-Image hat, wenn sie im Portrait-Upside-Down-Portrait gegen Landscape Links gegen Landscape-Recht gestartet wird. Ist das möglich?Kann ich separate Startbilder für jede der vier Orientierungen haben?

Ich bin bereit, eine der folgenden verwenden:

  • Starten Storyboard
  • Einführung Bilder im Rahmen eines Asset-Katalog
  • Einführung Bilder als einfache PNG-Dateien

Um zu sehen, warum Dies ist erforderlich, beenden Sie Camera.app und starten Sie es dann im Querformat links und in den Ausrichtungen. Beachten Sie das Startbild, insbesondere, dass sich der Auslöser neben der Home-Taste sowohl in der linken als auch in der rechten Ausrichtung befindet.

Dies ist nur möglich, wenn es separate Startbilder/Storyboards für die Landschaft links und rechts hat. Wenn nur einer vorhanden wäre, würde der Auslöser neben der Home-Taste in einer Ausrichtung und neben dem Lautsprecher (oben auf dem Bildschirm) in der anderen Ausrichtung angezeigt.

Camera.app scheint vier verschiedene Startbilder zu haben. Wie habe ich auch vier?


EDIT: Basierend auf der akzeptierte Antwort, habe ich versucht, die folgenden Start das Hinzufügen von Bildern (ohne etwas in Info.plist Zugabe):

enter image description here

Auf meinem iPhone 7 Plus, es funktioniert richtig im Hochformat, Querformat links und Querformat rechts. Nicht, wenn das Telefon auf dem Kopf steht. In diesem Fall wird das Portrait-Startbild angezeigt, gefolgt von einer Drehung um 180 Grad, wenn die echte Benutzeroberfläche angezeigt wird. Um dies zu bestätigen, zeichnete ich ein großes rotes Rechteck in der Mitte des Portrait-Upside-Down-Startbildes, und ich sehe dieses rote Rechteck nicht, wenn ich die App starte, damit ich bestätigen kann, t überhaupt verwendet werden. Weißt du, warum? Siehst du irgendetwas anderes falsch mit den Dateinamen?


EDIT 2: Ich habe folgendes Info.plist:

<key>UILaunchImages</key> 
<array> 
    <!-- 5.5-inch: --> 
    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{414, 736}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>Portrait</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{414, 736}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>PortraitUpsideDown</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{414, 736}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeLeft</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{414, 736}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeRight</string> 
    </dict> 

    <!-- 4.7-inch: --> 
    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{375, 667}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>Portrait</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{375, 667}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>PortraitUpsideDown</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{375, 667}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeLeft</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{375, 667}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeRight</string> 
    </dict> 

    <!-- 4-inch: --> 
    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{320, 568}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>Portrait</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{320, 568}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>PortraitUpsideDown</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{320, 568}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeLeft</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    <key>UILaunchImageSize</key> 
    <string>{320, 568}</string> 
    <key>UILaunchImageOrientation</key> 
    <string>LandscapeRight</string> 
    </dict> 

    <!-- 3.5-inch: --> 
    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    </dict> 

    <dict> 
    <key>UILaunchImageName</key> 
    <string>Default</string> 
    <key>UILaunchImageMinimumOSVersion</key> 
    <string>7.0</string> 
    </dict> 

</array> 

Das machte alles noch schlimmer - ich sehe ein Porträt Einführung Bild ausgestreckt verwendet wird, wenn das Telefon in der Landschaft ist.

Beachten Sie, dass alle UILaunchImageName-Schlüssel auf Default festgelegt sind und sich auf iOS verlassen, um sie zu disambiguieren. Ich habe auch versucht, die PNGs in Dinge wie [email protected] umzubenennen und den UILaunchImageName auf Default-portrait-upside-down zu setzen. Es machte keinen Unterschied.

+0

Haben Sie die umgekehrte Ausrichtung für das iPhone aktiviert? Es ist in Info.plist für iPhones standardmäßig deaktiviert. –

+0

Ich habe es aktiviert. Wie ich schon sagte, wird die tatsächliche Benutzeroberfläche im Hochformat angezeigt. Nur das Startbild tut dies nicht. –

+0

Ich habe keinen anderen Ratschlag, außer dass Sie stattdessen den UILaunchImages-Schlüssel verwenden. –

Antwort

2

Ich glaube, dass Sie für jede Ausrichtung ein separates Startbild angeben können. iOS (seit Version 7.0) unterstützt einen Info.plist Schlüssel UILaunchImages. Der Wert ist ein Array von Wörterbüchern. Jedes Wörterbuch beschreibt ein Startbild. Das Wörterbuch kann einen Schlüssel UILaunchImageOrientation enthalten, für den der Wert eine beliebige der vier Orientierungen sein kann.

Weitere Informationen finden Sie unter Information Property List Key Reference.

+0

Ist dies mit einem Asset-Katalog möglich? Ich benutze derzeit einen und kann keinen Weg finden, dies zu tun. –

+0

Ich sehe keine Dokumentation oder Info.plist-Einstellungen für die Verwendung eines Asset-Katalogs, aber Sie müssen nicht alle Ihre Bilder in den Katalog stellen, nur weil Sie einen haben. –

+0

Danke. In meinem Fall ist es einfacher, den Asset-Katalog zu entfernen und nur rohe Bilder zu haben. Kennen Sie einen Verweis auf alle Suffixe, die Bilder wie @ 2x haben können, und welche dieser Suffixe werden im Dateinamen benötigt und im plist-Eintrag benötigt? Viele Stapelüberlauf-Fragen haben Links zu Apple-Dokumentation, die entfernt wurden, wenn Asset-Kataloge und Start-Storyboards eingeführt wurden. –

Verwandte Themen