gpt4 book ai didi

ios - 正确添加和 UIViewController 到另一个

转载 作者:行者123 更新时间:2023-11-28 22:09:26 29 4
gpt4 key购买 nike

今晚一个人面临这个问题:

- (void)loadView {
VC *vc = [[VC alloc] initWithStyle:UITableViewStyleGrouped];
[self addChildViewController:vc];
[vc removeFromParentViewController];
[self setView:vc.view];
}

得到了一颗炸弹:

uncaught exception 'UIViewControllerHierarchyInconsistency', reason:
'A view can only be associated with at most one view controller at a time!

问:如何在不使用AddSubView的情况下直接将vc及其所有功能添加到当前的ViewController中?

最佳答案

将 TableView Controller 的 View 添加为当前 View 的 subview 。您不应该在 vc 上调用 removeFromParentViewController,因为这实际上会否定之前的行。将框架设置为与父级匹配也是一个好主意。

- (void)loadView 
{
[super loadView]; // this will create a basic view

VC *vc = [[VC alloc] initWithStyle:UITableViewStyleGrouped];

[self addChildViewController:vc];

vc.view.frame = self.view.bounds;
vc.view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
[self.view addSubview:vc.view];

[vc didMoveToParentViewController:self];
}

关于ios - 正确添加和 UIViewController 到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23255655/

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