gpt4 book ai didi

ios - 如何获取childViewController中的parentViewController?

转载 作者:行者123 更新时间:2023-11-29 12:02:36 27 4
gpt4 key购买 nike

我有一个主 UIViewController 并命名为 AddInformationController。在这个 mainViewController 中,我有两个 UIContainerView。它们每个都嵌入了一个 UITableViewController。 TableView Controller 名为 InformationSegmentControllerResultSegmentController

我把它放在 AddInformationController 中:

InformationSegmentController *isc = [self.storyboard instantiateViewControllerWithIdentfier:@"InformationSegmentController"];
ResultSegmentController *rsc = [self.storyboard instantiateViewControllerWithIdentifier: @"ResultSegmentController"];
[self addChildViewController: isc];
[self addChildViewController: rsc];

InformationSegmentController 类或 ResultSegmentController 类中,我尝试记录以下内容:NSLog(@"%@",self.parentViewController);但不幸的是,它是零。如何正确获取 parentViewController?我必须使用 prepareForSegue 吗?

//问题更新:

我发现,如果我直接在 Storyboard中创建这些 childViewController,则不必再次调用 addChildViewController 方法。

我尝试在我的 AddInformationController 中使用 NSLog(@"%@", self.childViewControllers) 结果包含 InformationSegmentController 类和ResultSegmentController 类。

但问题是当我在 viewDidLoad 中的两个 childViewContorllers 上调用 NSLog(@"%@", self.parentViewController) 时,结果为零。

最佳答案

你必须这样尝试

//add childview
[self addChildViewController:aVC];
[self.view addSubview:aVC.view];
[aVC didMoveToParentViewController:self];

//remove
[self removeFromParentViewController];
[self didMoveToParentViewController:nil];
[self.view removeFromSuperview];

希望对您有所帮助。


ChildViewControler 中获取 PerentViewController 的另一种方法是 Make @property (strong, nonatomic) AddInformationController *ParentVC; 在你的 ChildViewController.h 并从你的 ParentViewController 中分配 viewController 就像

InformationSegmentController *isc = [self.storyboard instantiateViewControllerWithIdentfier:@"InformationSegmentController"];
isc.ParentVC = self;
[self addChildViewController: isc];

关于ios - 如何获取childViewController中的parentViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36323760/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com