2016-08-22 1 views
0

J'ai créé une application iOS avec Xcode et Swift.Passer à un autre ContainerView à partir d'un ContainerView

Un ViewController contient deux ContainerViews. L'utilisateur peut basculer entre eux avec SegmentedControl. Mais, comment puis-je passer à l'autre ContainerView sans SegmentedControl, par exemple? avec un bouton?

En fait, j'ai ce code:

 let vc : AnyObject! = self.storyboard!.instantiateViewControllerWithIdentifier("login") 
     self.showViewController(vc as! UIViewController, sender: vc) 

Cela ouvre l'autre ContainerView, mais comme simple VC, pas à l'intérieur du parent ViewController.

Que puis-je faire pour atteindre l'autre ContainerView affiché dans le VC parent?

Répondre

0

Vous devez également définir le IBoutlets de ContainerViewsviewControllers pour les appeler séparément en utilisant l'action uibuttons.

Affectez la même classe à parentViewcontroller et à containerView à l'aide de l'inspecteur d'identité voir image.

enter image description here

connecter IBOutlet ainsi que parentViewController voir l'image

enter image description here

maintenant accessible à partir classe en utilisant l'action uibutton.

+0

Désolé, je ne comprends pas ce que vous voulez dire. –

+0

Voulez-vous dire que je devrais avoir IBOutlets de ParentViewController dans le fichier ContainerView? –

+0

Je pense que le fichier de tous 'ContainerViews' est identique à son' parentViewController' d'où vous implémentez 'SegmentedControl'. – vaibhav

0

Itérer dans votre vue parent l'enfant de son contrôleurs comme

parentViewController.childViewControllers.indexOf(self) 

vous avez l'index, signifie que vous pouvez obtenir le contrôleur, vous pouvez montrer

+0

Ne comprends pas vraiment comment le gérer maintenant. Pouvez-vous me donner un exemple s'il vous plaît? –

+0

laisser aParentVC = UIViewController.init() laisser aChildA = UIViewController.init() laisser aChildB = UIViewController.init() laisser aChildC = UIViewController.init() aParentVC.addChildViewController (aChildA) aParentVC.addChildViewController (aChildB) aParentVC.addChildViewController (aChildC) C'est ce que vous ferez dans votre contrôleur de vue parent pour ajouter les enfants, cela peut également se faire via l'interface utilisateur. Supposons maintenant qu'un de vos enfants ait un événement en tapant sur un bouton. Sur ce robinet, vous voulez que votre enfant –

+0

puis vous pouvez simplement appeler votre parent et itérer à travers les enfants de votre contrôleur parent vue comme ci-dessus et voici comment vous obtiendrez la réfrence de votre enfant. Passez maintenant l'enfant à votre méthode show –