2017-04-05 3 views
1

Ich habe meine Ansichten im Code erstellt. Der Ausgangspunkt ist die Funktion didFinishLaunchWithOptions in der Appdelegate-Klasse.Hinzufügen eines Startbildschirms zur iOS App in Code in Swift (ohne Storyboard oder Launchboard)

window = UIWindow(frame: UIScreen.main.bounds) 
    window?.makeKeyAndVisible() 
    let controller = ViewController() // create an instance of my ViewController and set it to the rootViewController 
    window?.rootViewController = controller 

Ich möchte einen Startbildschirm hinzufügen, der sofort beim Start der App angezeigt wird. Der Startbildschirm sollte schnell durch den ersten Bildschirm der App ersetzt werden, wodurch der Eindruck entsteht, dass Ihre App schnell und reaktionsschnell ist. Ich fand einige Antworten, die sagten, dass es nicht möglich ist (Is there any way to code the LaunchScreen programmatically). Meine Idee war, eine neue LaunchView zu erstellen und sie durch NSTimer zu ersetzen. Gibt es keinen leichteren oder alternativen Weg?

Dank

+0

Sie haben zwei Zeilen direkt von Apples Launch Screen Guidelines-Seite (https://developer.apple.com/ios/human-interface-guidelines/graphics/launch-screen/) ... also, wenn Sie haben Lies diese Seite, was ist deine Frage? Verwenden Sie statische Bilder und schreiben Sie Ihren "Startup-Code", um so schnell und effizient wie möglich zur ersten Benutzeroberfläche zu gelangen. – DonMag

+0

Ich bin glücklich, zu versuchen und zu helfen ... nur um Klärung dessen, was Sie zu tun versuchen, wenn anders als das, was bereits vorhanden ist? – DonMag

+0

Ich habe zwei perfekt geschriebene Sätze aus der Leitlinie über den Startbildschirm genommen, also was ist das Problem? Ich habe mein Problem so beschrieben, dass ich meine Ansichten im Code erstelle und einen Startbildschirm einfügen möchte. Mein Ausgangspunkt ist die Methode didFinishLaunchingWIthOptions in der AppDelegate-Klasse, in der ich meine Ansichten erstelle. Bevor ich diese Frage gestellt habe, habe ich etwas recherchiert und versucht, selbst eine Lösung zu finden (NSTimer etc.). Ihr Verhalten ist nicht konstruktiv und Sie konzentrieren sich auf etwas, das nicht wichtig ist, anstatt zu helfen! Das ist peinlich . Hör auf. –

Antwort

1

Dies ist nicht möglich, da wie der Startbildschirm nicht regelmäßig View-Controller ist und jede Logik nicht halten kann. Alle Animationen, die während des Startvorgangs in der App vorhanden sind, werden nach dem Startbildschirm behandelt und die Animationen befinden sich im Root-Ansichts-Controller wie in der Twitter App. Wenn Sie nicht bereit sind, Startbildschirme zu verwenden, dann wäre es eine Alternative, in IB eine Ansicht zu erstellen und seine screenShot als SplashImage zu verwenden. Es gibt derzeit keine Möglichkeit, einen LaunchScreen programmatisch zu machen oder ihm Logik hinzuzufügen.

+0

Danke. Kann ich Startbildschirme verwenden und den Rest meiner Ansichten weiterhin im Code erstellen? –

+0

Ja, Sie können nur in den Projekteinstellungen vornehmen, um launchScreen zu verwenden. Bitte akzeptiere meine Antwort. –

+0

Danke es gelöst! –

Verwandte Themen