我有一个故事板和一个带有容器视图的视图控制器。在故事板中,我使用“嵌入”segue定义了从容器到另一个视图控制器的连接。如何从父视图控制器中获取对嵌入式视图控制器的引用?
我已经创建了对容器的引用,但是看到它只是一个UIView
这是我正在使用的segue
您必须在主ViewController中实现prepareForSegue并在StoryBoard中指定标识符。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Make sure your segue name in storyboard is the same as this line
if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"])
{
// Get reference to the destination view controller
YourViewController *vc = [segue destinationViewController];
}
}
以下是使用反射的替代方法,通过实现:
-(void)addChildViewController:(UIViewController *)childController
EG
-(void)addChildViewController:(UIViewController *)childController {
[super addChildViewController:childController];
for (UIViewController *childViewController in [self childViewControllers]) {
if ([childViewController isKindOfClass:[SomeViewController class]]) {
_controller = (SomeViewController *)childController;
break;
}
}
}