2014-10-15 5 views

risposta

17

Se la vostra interfaccia utente è disposto in uno storyboard, è possibile impostare un NSTimer in viewDidLoad del vostro primo ViewController e quindi chiamare performSegueWIthIdentifier quando il timer incendi:

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) 
    } 

Ecco come impostare la segue nella Storyboard:

  1. controllo di trascinamento dal proprietario sull'icona del file della prima ViewController al secondo ViewController.
  2. Scegli "modale" dal pop-up.

Seting up the segue


  1. Cliccare sulla freccia segue che appare tra i controller di vista. Nell'ispettore Inspections per il seguito ...
  2. Dai ai tuoi passi un identificatore.
  3. Spegnere anima se non si desidera visualizzare la diapositiva schermo.

enter image description here

1

È possibile utilizzare questo frammento di codice:

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

che realizza il metodo launchMainUI dopo delay secondi. Sostituiscilo con la tua implementazione, dove istanzia il tuo controller di visualizzazione e presentalo, o semplicemente invoca un seguito.

0

Nella vostra azione è necessario scrivere come in questo esempio

self.performSegueWithIdentifier ("nome del seguito", mittente: self)

dopo aver implementato questo metodo

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) 
} 
Problemi correlati