2015-03-23 1 views
0

J'essaie de modifier par programme la vue dans le contrôleur de navigation qui se trouve dans un contrôleur de tabulation. J'ai défini un UINavigationController et l'a fait pour être la classe pour cette vue de contrôleur de navigation. Dans la méthode viewDidAppear j'ai essayé de faire performSequeWithIdentifier mais cela ne fonctionne pas. Aidez s'il vous plaît à faire ceci.Modifier la vue dans le contrôleur de navigation qui se trouve à l'intérieur du contrôleur de tabulation

class ABCNavigationController: UINavigationController 
{ 
    override func viewDidAppear(animated: Bool) { 
     self.performSegueWithIdentifier("MySegue", sender: self) 
    } 
} 

Merci, Ruben

Répondre

0

Segues existe uniquement avec le constructeur d'interface. Donc, si vous travaillez sur une application purement programmatique, vous ne pouvez malheureusement pas utiliser les segments.

Au lieu de cela, j'utiliser ceci:

func nextViewController() { 
    var VC = nameOfNextViewController() 
    self.navigationController?.pushViewController(VC, animated: true) 
} 

Cela pousse la vue à côté de votre pile de navigation, lorsque la fonction « nextViewController » est appelée.

+0

Eh bien, ce n'est pas tout à fait vrai. J'ai été en mesure d'appeler des segues à partir du code, mais la vue apparaît en haut du contrôle onglet. Ce que je veux, c'est que le contrôleur de vue sélectionné par programme apparaisse dans l'onglet. J'ai aussi essayé votre approche. Cela ne fonctionne pas car le self.navigationController est nul. – rubenhak