2015-02-19 20 views
13

Frage:
Gibt es Möglichkeiten, etwas in der LaunchScreen.xib Datei eines Xcode 6 Projekt zu animieren für iOS zu implementieren gezielten 8.1+?Kann ich ein Bild Animieren iOS8 LaunchScreen.xib


Kontext:
Ich suche einfache Animationen machen Aktivität zu vermitteln oder als Ablenkung für den Benutzer dienen, während sie warten ...


Beispiele:

  • Ein Ladebalken
  • Aktivitätsindikator
  • Animated GIF
  • Verschieben einer UIImage über den Bildschirm
  • Bild drehen

Antwort

25

Nope.

Das Startbild wird nur während des Zeitraums angezeigt, der zwischen dem Start und dem Start der App durch den Benutzer liegt. Während dieser Zeit kann Ihre App keine Aktionen ausführen, z. B. eine Animation ausführen - sie wird noch nicht ausgeführt. Das Startbild ist nur ein statisches Bild, das, wenn es gut gestaltet ist, dem Benutzer den Eindruck vermittelt, dass Ihre App schnell bereit ist.

(Einige Entwickler ignorieren the HIG und verwenden das Startbild, um einen Begrüßungsbildschirm, manchmal mit einer animierten Präsentation bereitzustellen. Aber in diesen Fällen ist der Startbildschirm immer noch ein statisches Bild und die Animation passiert, sobald die App gestartet wird - es ist nur, dass das erste Bild von der laufenden App gezeichneter Animation der Darstellung des statischen Startbildes entspricht)

Dieses Verhalten mit dem LaunchScreen.xib Feature nicht in iOS 8 ändern -. es erscheint noch nur vor Ihrem App läuft tatsächlich, so ist es immer noch ein statisches Bild. Mit der LaunchScreen.xib-Funktion erhalten Sie die Möglichkeit, ein Startbild für viele verschiedene Gerätegrößen und -stile adaptiv zu erstellen, ohne für jede Größe/Ausrichtung/etc separate Bilder entwerfen, rendern und versenden zu müssen.

Wenn Ihre App zu dem Zeitpunkt, zu dem sie die Kontrolle erlangt, noch nicht einsatzbereit ist, überlegen Sie, ob die Aufgaben, die Sie gerade ausführen, sofort erledigt werden müssen oder ob Sie den Benutzer zulassen können fange an, einige Dinge sofort zu tun und mache mehr Setup-Arbeiten an einem Hintergrund-Thread oder verschiebe es, bis es tatsächlich benötigt wird.

13

ich Splash-Screens nicht häufig verwenden, aber wenn ich tun, ich möchte, dass sie wie ein Buch zu öffnen.

In aller Wahrheit, ich bin kein großer Fan von Splash-Screens und sogar Apple empfiehlt eine default.png verwenden, die die Kontrollen zeigt (ohne Text) der Anwendung:

Anzeige ein Startbild, das eng ähnelt dem ersten Bildschirm der Anwendung. Diese Vorgehensweise verringert die wahrgenommene Startzeit Ihrer Anwendung.

Vermeiden Sie die Anzeige eines About-Fensters oder eines Begrüßungsbildschirms. Versuchen Sie im Allgemeinen, keine Startup-Erfahrung bereitzustellen, die verhindert, dass Benutzer Ihre Anwendung sofort verwenden.

von HIG Richtlinien

jedoch lieben einige Leute sie und eine App insbesondere hat eine schöne Umsetzung Splash-Screen - Pfad 2.0. Wenn Sie Path öffnen, werden Sie mit ihrem Logo auf einer roten Version der Leinenstruktur von Apple begrüßt, die wie ein Buch (oder Journal, wie Path sich selbst versteht) geöffnet wird.

Sie können die Quelle für dieses Projekt hier: https://github.com/jaysonlane/OpenBook

Bevor wir beginnen, lassen Sie mich dieses Vorwort mit einem Disclaimer: Ich bin sehr neu zu Animationen in Cocoa so mit mir tragen. Wenn Sie unnötigen oder ineffizienten Code entdecken, hinterlassen Sie bitte einen Kommentar und ich werde ihn aufräumen.

Wenn Sie die Animation nicht gesehen haben, springen Sie in den App Store und holen Sie sich eine Kopie, um zu sehen, was wir erreichen möchten. Ich habe ein Standard-Png erstellt, das wir geschickt mit dem Titel Math verwenden können (wie ein Mathematikbuch, das geöffnet wird, oder?). Sie können das hier (Netzhaut) und hier herunterladen.

Um zu beginnen, lassen Sie mich erklären, "die Tricks" hinter dem, was wir tun werden: Wir werden das normale Standard-Splash-System verwenden, um unsere default.png anzuzeigen. Nachdem wir die Anwendung fertig gestellt haben, erstellen wir im App-Delegierten eine UIImageView, die auf unserer Ansicht derselben default.png basiert. Wir werden dann diese UIImageView animieren, um sie zu öffnen, um unsere Ansicht zu zeigen.

So gehen wir:

ein neues Projekt erstellen, habe ich eine der einzigen Ansicht Vorlage aber mit dem, was funktioniert. Gehen Sie voran und stellen Sie Ihre default.png und [email protected] auf die gelieferten Bilder. Sie können dies tun, indem sie das Projekt im Navigationsbereich auf der linken Seite klicken Sie auf das Ziel und nach unten scrollen Bilder zu starten:

Öffnen Sie Ihren AppDelegate.m und fügen Sie den folgenden Code in Ihre Anwendung didFinishLaunching oder Anwendung didFinishLaunchingWithOptions Funktion:

//1. add the image to the front of the view... 
UIImageView *splashImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
[splashImage setImage: [UIImage imageNamed:@"Default"]]; 
[self.window addSubview:splashImage]; 
[self.window bringSubviewToFront:splashImage]; 

//2. set an anchor point on the image view so it opens from the left 
splashImage.layer.anchorPoint = CGPointMake(0, 0.5); 

//reset the image view frame 
splashImage.frame = CGRectMake(0, 0, 320, 480); 

//3. animate the open 
[UIView animateWithDuration:1.0 
         delay:0.6 
        options:(UIViewAnimationCurveEaseOut) 
       animations:^{ 

        splashImage.layer.transform = CATransform3DRotate(CATransform3DIdentity, -M_PI_2, 0, 1, 0); 
       } completion:^(BOOL finished){ 

        //remove that imageview from the view 
        [splashImage removeFromSuperview]; 
       }]; 

Drei Dinge passieren hier ...

1) Wir hat eine neue UIImageView erstellen und an die Spitze der Ansicht hinzufügen 2) Wir setzten einen Ankerpunkt auf der linken Seite des Bildes zu machen öffnen Sie von links und stellen Sie dann den Rahmen auf die volle Größe der Ansicht zurück w 3) Wir animieren die UIImageView und entfernen sie aus der Sicht nach der Fertigstellung

Das ist es, es ist so einfach.

Quelle: http://jaysonlane.net/tech-blog/2012/03/path-2-0-style-animated-splash-screen-default-png/

+1

Dies ist eine Referenz zu einem Splash Screen Tutorial ... Meine Frage Fragt speziell nach, ob es eine Möglichkeit gibt, etwas in der Datei LaunchScreen.xib zu animieren, die anstelle eines ursprünglichen Startbildes eines Xcode 6-Projekts verwendet wird Bereitstellen für iOS 8.1 oder höher iOS-Version ... – JThora

+0

Sie haben sich Mühe gegeben, dies zu schreiben. +1 – Cesare

0

Sie können die LaunchScreen.xib erstellen und dann ein perfektes Replikat erstellen, dem Sie Code hinzufügen können und eine Klasse wie LaunchScreenAnimator haben, die Sie von Ihrem Delegaten aufrufen können und die über einen Delegaten verfügt, wenn die Animation über

ist
Verwandte Themen