2016-07-14 27 views
1

Ich habe bereits die ID segue von auf ViewcontrollerB festgelegt. Aber folgende Code funktioniert nicht:Navigieren zu einer anderen Ansicht, wenn das interne Ereignis der Bereinigung auf UITextfield auftritt

class ViewcontrollerA: UIViewController { 


@IBOutlet weak var Tasks: UITextField! 

override func viewDidLoad() { 
super.viewDidLoad() 

// Do any additional setup after loading the view. 
} 


@IBAction func move(sender: AnyObject) { 

self.performSegueWithIdentifier("move", sender: sender) 

} 

} 

Gibt es eine Möglichkeit zum zweiten ViewController zu navigieren, wenn UITextfield wird „abgehört“?

Jede Hilfe würde wirklich geschätzt werden!

+0

haben Sie den Methoden- shouldPerformSegueWithIdentifier –

+0

, ich habe keine implementiert verwenden nicht. Also, das muss das fehlende Ding sein? – Walker

+0

wird meine Antwort hinzufügen –

Antwort

0

Wenn Sie auf SecondViewController vom Fass von UITextField bewegen, dann können Sie Delegatmethode textFieldDidBeginEditing von UITextField wie diese

func textFieldDidBeginEditing(textField: UITextField) { 
    self.performSegueWithIdentifier("SegueIdentifier", sender: self) 
} 
1

Unter der Annahme, dass Sie die segue Kennung gegeben haben und segue Art

func Bewegung ersetzen:

@IBAction func move(sender: AnyObject) { 

self.performSegueWithIdentifier("move", sender: self) 

} 

unten Code hinzufügen:

override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject?) -> Bool { 
     if identifier == "move" { 

      return true 
     } 
     return false 
    } 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     if segue.identifier == "move" { 
      let vc = segue.destinationViewController as! ViewcontrollerB 
      // you can additional work here with navigating VC Object 
     } 
    } 
+0

Es heißt, ich sollte vc durch "_" ersetzen. – Walker

+0

Wenn Sie dieses Objekt nicht zum Übergeben eines Werts verwenden, können Sie diese Methode überspringen. –

+0

Es funktioniert nicht, also werde ich auflisten, was ich getan habe, damit du mich korrigieren kannst. Zuerst habe ich einen Push-Übergang von Viewcontroller A zu ViewcontrollerB mit dem Bezeichner "move" eingestellt. Zweitens habe ich hinzugefügt, dass Sie Code in meiner Datei sind (nur irgendwo) und drittens habe ich eine IBAction für TouchUp Inside Event für UITextfield gesetzt, wo ich den Code wie oben in meiner Erklärung habe. – Walker