2017-08-01 5 views
0

J'ai deux viewCcontroller, FirstViewController et SecondViewController. Maintenant, je montre un contrôleur popoverpresentation dans FirstViewController qui a un bouton plusieurs textFields qui prend l'imput de l'utilisateur. Maintenant, une fois que le bouton est cliqué, je veux naviguer vers SecondViewController et transmettre les données le long.Mais je ne suis pas capable de naviguer vers le deuxième contrôleur de vue. Si j'utilise segue du bouton de popoverpresentationcontroller à SecondViewController, il navigue avec succès, mais je veux y parvenir par programmation. Toute aide sur la façon de le faire ??Naviguer de popoverPresentationController à nouveau ViewController

Ceci est mon bouton clic Code

@IBAction func goTo(_ sender: UIButton) { 

    let storyBoard = UIStoryboard(name: "Main", bundle: nil) 
    let destination = storyBoard.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController 
      destination.flag = flag 
      sender: sender) 


     self.navigationController?.pushViewController(destination, animated: true) 

     } 
    } 

} 

Répondre

0

Vous ne pouvez pas naviguer car il n'y a pas navigation controller sur le contrôleur de vue présenté

Vous devez d'abord ajouter navigation controller et vous pouvez effectuer la navigation.

let nav1 = UINavigationController() 
nav1.viewControllers = [self] 
nav1.pushViewController(child, animated: true) 
0

Je viens de nettoyer un peu votre code.

@IBAction func goTo(_ sender: UIButton) {  
    let destinationViewController = storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController 
    destinationViewController.flag = flag 
    self.navigationController?.pushViewController(destinationViewController, animated: true) 
} 

S'il vous plaît noter également configurer les viewController dans le Main.storyboard

enter image description here