2016-04-15 8 views
0

Ich habe eine App, die mit einem View Controller endet und sagt: "Danke, dass du die blabla App benutzt hast, einen schönen Tag noch."einen View Controller nach einer gewissen Zeit drücken

Ich versuche einen Weg zu finden, so dass sich die App nach 20 Sekunden auf den ersten View Controller bezieht, der es einem neuen Benutzer erlaubt, dort Daten einzugeben.

Habt ihr eine Ahnung?

+0

[NSTimer] (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSTimer_Class/) –

+1

20 Sekunden ein wirklich lange Zeit, um den Benutzer auf einem Bildschirm warten zu lassen. Fügen Sie einfach eine Schaltfläche hinzu. – EmilioPelaez

+0

Ja, Vorschlag von @EmilioPelaez ist perfekt. 20 Sekunden sind lange Zeit, denke ich auch. Bitte reduzieren Sie es auf 5 Sekunden oder fügen Sie eine UIButton hinzu. – Tuhin

Antwort

4

Sie NSTimer in Ihrem viewDidLoad verwenden kann dies zu archivieren:

NSTimer.scheduledTimerWithTimeInterval(20, target: self, selector: "dismissVC", userInfo: nil, repeats: false) 

dann seine Methode aufrufen:

func dismissVC() { 
    self.dismissViewControllerAnimated(false, completion: nil) 
} 

Oder Sie sleep 20s Verzögerung in Ihrem viewDidLoad verwenden können, wie so:

sleep(20) 
self.dismissViewControllerAnimated(false, completion: nil) 
1

Sie können den Timer für 20 Sekunden einstellen und nach 20 Pop-Methode wird aufrufen und in pop-Methode können Sie auf Root-View-Controller pop.

NSTimer.scheduledTimerWithTimeInterval(20, target: self, selector: #selector(YourClass.Pop), userInfo: nil, repeats: true) 

func Pop() { 
self.navigationController?.popToRootViewControllerAnimated(true) 
} 
0

Alle Objekte haben diese Funktion

public func performSelector(aSelector: Selector, withObject anArgument: AnyObject?, afterDelay delay: NSTimeInterval) 
Verwandte Themen