gpt4 book ai didi

ios - 调用 addChildViewController 或不调用 addChildViewController

转载 作者:行者123 更新时间:2023-12-01 17:50:38 26 4
gpt4 key购买 nike

我对 Objective-C 和 iOS 还很陌生,而且我已经接受了别人编写的应用程序。我注意到一些让我震惊的事情,我认为我的问题与人们提出的关于 addChildViewController 的其他问题略有不同。

好吧,该应用程序运行良好。旋转工作正常。一切都很好。
所以有什么问题?

好吧,有一个全屏 View ,它在并排平铺类型的布局中包含一堆 subview 。换句话说,它们都具有相同的全屏父 View ,并且彼此是兄弟。
这些 subview 都是 UIViewController 的实例。 .
我原以为会看到像这样设置的那些 subview ...

DoohickeyController *doohickey = [[DoohickeyController alloc] initWithNibName:@"Doohickey" bundle:nil];
[self addChildViewController:doohickey];
[self.view addSubview:doohickey.view];

但相反,他们只是这样做......
DoohickeyController *doohickey = [[DoohickeyController alloc] initWithNibName:@"Doohickey" bundle:nil];
[self.view addSubview:doohickey.view];

关于是否调用 addChildViewController 是否有硬性规定?当应用程序看起来工作正常时?

将调用添加到 addChildViewController 是否有任何优点/缺点? ?

最佳答案

UIKit 的主要设计假设之一是 ViewController层次结构通常与 View 同步。等级制度。处理自动旋转和大小类转换的回调通过 ViewController 传递。链,如果你从不创建 ViewController 之间的父子关系s 这个系统崩溃了。

我遵循(伪代码)的模式

//given:
ViewController *a;
ViewController *b;

[a willMoveToViewController:b];
[b addChildViewController:a];
[a didMoveToViewController:b];

[b.view addSubview:a.view];

关于ios - 调用 addChildViewController 或不调用 addChildViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32343903/

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