Wie erkenne ich die Ausrichtung beim App-Start für die Splash-Screen-Animation auf dem iPad?
Hallo ich habe eine app und ich habe zwei *.das PNG-Format für Standard-splash-screen:
Standard-Landschaft.png
Standard-Portrait.png
Was ich will, ist zu animieren das Standard-splash-Bildschirm entfernt, wenn meine app geladen und bereit zu gehen.
Um dies zu erreichen würde ich normalerweise eine UIImageView mit entweder Standard-Querformat oder Standard-portrait (je nach Lage des Gerätes), halten Sie auf dem Bildschirm für eine gewisse Zeit und dann animieren Sie es Weg.
Mein problem ist, dass wenn ich den Anruf [[UIDevice currentDevice] orientation]
im
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
Die Antwort ist immer, dass das Gerät im hochformat, auch wenn ich klar habe es in der Landschaft. Ich habe versucht, das im simulator und auf dem Gerät als auch und das Verhalten ist das gleiche.
Kennt jemand eine Lösung für dieses Problem oder vielleicht eine andere Methode?
Dank!
InformationsquelleAutor der Frage Horatiu Paraschiv | 2010-08-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich Probleme mit diesem, und ich löste es, indem Sie ein Bild 1024x1024 und Einstellung der contentMode der UIImageView zu UIViewContentModeTop, dann mit den linken und rechten Rand autoresizing. So lange, wie Sie Ihre hoch-und Querformat Standard-Bilder sind das gleiche layout dann wird dies funktionieren.
Genau zu klären, hier ist was ich benutzt habe:
InformationsquelleAutor der Antwort Rich Lowenberg
Dieses problem zu umgehen, installierte ich die splash-Bild-anzeigen innerhalb eines view-controller erlaubt, dass die beiden Orientierungen. Obwohl das Gerät berichtet, die falsche Ausrichtung beim Start des view-Controllers scheint, die richtigen zu finden.
InformationsquelleAutor der Antwort user372744
Können Sie UIApplication statusBarOrientation wie folgt:
InformationsquelleAutor der Antwort Secret Chimp
Vielleicht könnten Sie zeigen eine leere Ansicht mit schwarzem hintergrund zu Beginn Zeit und Ort
[[UIDevice currentDevice] orientation]
in dieser Ansicht istviewDidAppear
und starten Sie Ihre splash-screen von dort?InformationsquelleAutor der Antwort tobiasbayer
Andere Lösung wäre, zu Lesen, der accelerometer-Daten und bestimmen die Ausrichtung selbst.
InformationsquelleAutor der Antwort eliego
Wissen zu starten, was die Orientierung (
UIDevice
Orientierung nicht arbeiten, bis der Benutzer habe das Gerät drehen) abzufangenshouldAutorotateToInterfaceOrientation
Ihres View-Controllers heißt es am Anfang, und Sie wissen, dass Ihr Gerät Orientierung.InformationsquelleAutor der Antwort Twil
Es gibt sicherlich Zeiten, wenn Sie wollen, um den übergang von der laden-Bild auf etwas anderes, bevor der Benutzer erhält die Kontrolle Ihrer Anwendung. Es sei denn, Eure app ist wirklich einfach, gehen von laden Bild-landing-page wird wahrscheinlich nicht ausreichend sein, ohne dass die app wirklich saugen. Wenn Sie jemals entwickeln Sie eine große app, Sie wollen auf jeden Fall tun, um die Fortschritte zu zeigen, die während des Setups laden xibs, etc. Wenn eine app mehrere Sekunden dauert, um vorzubereiten, ohne feedback, die Benutzer werden es hassen. IMO, es ist nichts falsch mit einem netten transition-Effekt. Fast niemand verwendet Ladebildschirm den Weg von Apple schlägt. Ich weiß nicht, welche apps Sie sah zeigten, dass die "leere " UI" type loading screens, die Sie vorschlagen. Heck, sogar Apple macht das nicht, außer in Ihren Beispiel-code und keiner meiner Kunden würde akzeptabel finde. Es ist eine lahme design.
InformationsquelleAutor der Antwort Dave
Nur die erste Ansicht Hinzugefügt, um das Fenster gedreht wird, die durch das OS. Also, wenn Sie möchten, dass Ihre splash-screen automatisch drehen UND Ihre Haupt-Ansicht drehbar ist, dann fügen Sie es einfach ein Kind dieser Ansicht.
Hier ist mein code für die Ausblendung der entsprechenden splash-screen Bild:
Hinweis: Sie müssen aktualisieren, um die support-hi-res-Bildschirme.
InformationsquelleAutor der Antwort peterept
Es klingt wie Sie sind nicht mit der starten Bild der Art und Weise Apple empfiehlt in der iOS HIG. Es fordert insbesondere heraus, dass Sie, sollten Sie nicht verwenden Sie es als ein splash-screen, sondern eher wie ein Skelett version der aktuellen Benutzeroberfläche. Der Netto-Effekt ist, dass Ihre app wird bereit sein, nur, dass viel schneller.
Den Anregungen, die Sie zeichnen konnte einen splash-screen selbst nach dem app Start in viewDidAppear oder ähnlich auch fehlt der grundlegende Zweck, ein Start Bild. Es ist nicht der splash-screen. Wenn die app fertig ist, lassen Sie die Benutzer mit ihm interagieren, vergeuden Sie nicht Ihre Zeit mit zeichnen Sie einen Begrüßungsbildschirm.
Aus meinem fünf-Minuten-Umfrage von Apple-apps und apps von Drittanbietern, jeder zeigte ein portrait Start Bild, geladen, die hochformat-version des UI, und dann gedreht, um die Landschaft. Es ist schon eine Weile her, seit die Programmierung auf iOS, aber ich denke, dies spiegelt die Reihenfolge der Methodenaufrufe -- zuerst, Ihre app wird gestartet, dann ist es gesagt, um zu drehen, um eine bestimmte Ausrichtung.
Es ist vielleicht eine nette Verstärkung anfordern, um die Datei mit Apfel obwohl 🙂
InformationsquelleAutor der Antwort Alex Martini