Ios 如何获得在脚本中查看控制器的句柄,以便在容器控制器中进行转换

Ios 如何获得在脚本中查看控制器的句柄,以便在容器控制器中进行转换,ios,Ios,我的问题是我想调用transitionFromViewController:到ViewController::来更改容器视图中的视图控制器。但是,如果第一个控制器不是以编程方式创建的,而是由故事板创建的,那么我如何获得该控制器的句柄,以便将其传递给transitionFromViewController 更多详情: 我想创建一个容器控制器,根据从默认值读取的标志,在应用程序启动时包含控制器a或控制器B 在我的故事板中,我在初始控制器中放置了一个容器视图,当这样做时,IB自动创建了一个链接的VC场

我的问题是我想调用transitionFromViewController:到ViewController::来更改容器视图中的视图控制器。但是,如果第一个控制器不是以编程方式创建的,而是由故事板创建的,那么我如何获得该控制器的句柄,以便将其传递给transitionFromViewController

更多详情:

我想创建一个容器控制器,根据从默认值读取的标志,在应用程序启动时包含控制器a或控制器B

在我的故事板中,我在初始控制器中放置了一个容器视图,当这样做时,IB自动创建了一个链接的VC场景,我将其设置为视图控制器a

我还为视图控制器B创建了一个场景(但是我无法将其链接到初始视图控制器,因为这样做会断开视图控制器a。因此我假设IB只允许一个VC连接到容器视图)

在初始控制器的viewDidLoad中,我计划调用TransitionOnViewController,根据状态标志从控制器a切换到控制器B。
问题是如何获得控制器a的句柄?我不是在代码中创建控制器A,IB是自动创建的-因此我尝试在初始控制器中为其添加属性,但IB不允许我使用IB助手在控制器A和属性之间拖放链接。那么,我如何才能获得它的句柄,以便将其传递给transitionToViewController:?

如果您使用故事板上的容器视图来嵌入子控制器,那么您可以通过以下代码在viewDidLoad中获取子控制器

AController=[self.childViewControllers lastObject]

如果有多个子视图控制器,则可以迭代self.childViewControllers以查找每个子视图控制器

您可以实例化B控制器来调用transitionFromViewController


[self.storyboard实例化eviewcontrollerwhiteIdentifier:@“BController”]

然后你把这样的事情叫做 . .

[AController willMoveToParentViewController:nil];
[self addChildViewController:BController];

[self transitionFromViewController:AController
                  toViewController:BController
                          duration:0.0f
                           options:UIViewAnimationOptionTransitionNone
                        animations:^{
                        }
                        completion:^(BOOL finished) {
                            [BController didMoveToParentViewController:self];
                            [AController removeFromParentViewController];
                        }];