2016-08-22 4 views
0

Я сделал приложение iOS с Xcode и Swift.Переключитесь на другой ContainerView изнутри ContainerView

Один ViewController содержит два ContainerViews. Пользователь может переключаться между ними с помощью SegmentedControl.

Но как я могу переключиться на другой ContainerView без SegmentedControl, например. с помощью кнопки?

На самом деле у меня есть этот код:

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

Это открывает другой ContainerView, но и как одного VC, а не внутри родительского ViewController.

Что я могу сделать, чтобы достичь другого ContainerView, показанного в исходном VC?

ответ

0

Возможно, вам необходимо установить IBoutlets с ContainerViewsviewControllers, чтобы называть их отдельно, используя uibuttons действие.

присвоить одинаковый класс как parentViewcontroller, так и containerView с помощью инспектора идентификации см. Изображение.

enter image description here

подключить IBOutlet, а как parentViewController см изображение

enter image description here

Теперь можно получить доступ с помощью класса uibutton действия.

+0

К сожалению, я не понимаю, что вы имеете в виду. –

+0

Вы хотите иметь IBOutlets от ParentViewController в файле ContainerView? –

+0

Я думаю, что файл всех «ContainerViews» аналогичен файлу 'parentViewController', из которого вы реализуете' SegmentedControl'. – vaibhav

0

Итерация ребенка своего родительского вида контроллеров игрового как

parentViewController.childViewControllers.indexOf(self) 

вы получили индекс, означает, что вы можете получить контроллер, то вы можете показать это

+0

Не понимаю, как с этим справиться. Можете ли вы привести мне пример, пожалуйста? –

+0

пусть aParentVC = UIViewController.init() пусть aChildA = UIViewController.init() пусть aChildB = UIViewController.init() пусть aChildC = UIViewController.init() aParentVC.addChildViewController (aChildA) aParentVC.addChildViewController (aChildB) aParentVC.addChildViewController (aChildC) Это то, что вы будете делать в контроллере родительского представления, чтобы добавить дочерние элементы, это может быть сделано также через интерфейс. Теперь предположим, что у одного из ваших детей есть какое-то событие, например, нажатие кнопки. На этом краю вы хотите перекопать своего ребенка –

+0

, тогда вы можете просто позвонить вам, родитель и перейдя через дочерние элементы контроллера родительского представления, как показано выше, и вы получите подтверждение своего ребенка. Теперь передайте ребенку свой метод show –