2014-10-15 3 views

Antwort

17

Wenn Ihr UI in einem Storyboard angelegt, können Sie eine NSTimer in viewDidLoad Ihrer ersten ViewController gesetzt und dann performSegueWIthIdentifier aufrufen, wenn der Timer Brände:

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     let timer = NSTimer.scheduledTimerWithTimeInterval(8.0, target: self, selector: #selector(timeToMoveOn), userInfo: nil, repeats: false) 
    } 

    func timeToMoveOn() { 
     self.performSegueWithIdentifier("goToMainUI", sender: self) 
    } 

Hier ist, wie Sie einrichten die segue in der Storyboard:

  1. Steuer zieht vom Eigentümer Symbol der ersten ViewController mit den zweitender Datei.
  2. Wählen Sie "modal" aus dem Pop-up.

Seting up the segue


  1. Klicken Sie auf das segue Pfeil, die zwischen den View-Controller angezeigt. In der Attribute Inspector für die ...
  2. Geben Sie Ihrem Segment einen Bezeichner.
  3. Schalten Sie Animiert, wenn Sie nicht in den Bildschirm Folie sehen wollen.

enter image description here

1

können Sie diesen Code-Snippet verwenden:

let delay = 1 // Seconds 
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(delay * NSEC_PER_SEC)), dispatch_get_main_queue()) { 
    self.launchMainUI() 
    return 
} 

die die launchMainUI Verfahren nach delay Sekunden führt. Ersetzen Sie es durch Ihre eigene Implementierung, in der Sie Ihren View-Controller instanziieren und präsentieren oder einfach ein Segment aufrufen.

0

In Ihrer Aktion, die Sie wie in diesem Beispiel

self.performSegueWithIdentifier schreiben müssen ("Namen segue", Absender: self)

, nachdem Sie dieses Verfahren eingesetzt werden, müssen

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
{   
     if(segue.identifier == "name of segue") 
     { 
      var view : yourviewcontroller = segue.destinationViewController as yourviewcontroller 
     } 

} 
0

Swift 4:

let timer = Timer.scheduledTimer(timeInterval: 8.0, target: self, selector: #selector(segueToSignIn), userInfo: nil, repeats: false) 

@objc func segueToSignIn() { 
    self.performSegue(withIdentifier: "SignInSegue", sender: self) 
} 
Verwandte Themen