gpt4 book ai didi

iphone - 在 iOS 中嵌套 UIViewController

转载 作者:行者123 更新时间:2023-11-28 22:45:07 25 4
gpt4 key购买 nike

考虑一个 UIViewController,它的 View 包含另一个 UIViewController 的 View 。

说父 UIViewController 负责调用子 Controller 的生命周期方法是否正确?方法如:

- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillDisappear:(BOOL)animated;
- (void)viewDidDisappear:(BOOL)animated;

例如:

- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[_childViewController viewWillAppear:animated];
}

如果是这样,必须调用哪些方法?

有更好的方法吗?显然,上述方法不是向前兼容的:如果添加了新的生命周期方法,则需要修改父类以传播新方法的调用。

或者嵌套 View Controller 只是一个坏主意,应该避免吗?

最佳答案

正确的做法是将 View Controller 添加为 subview Controller 。您需要维护 View 层次结构(将 View 添加为 subview )和 View Controller 层次结构(将 View Controller 添加为 subview )。然后为您调用所有生命周期方法。

相关方法是addChildViewController:didMoveToParentViewController:

在 WWDC 2011 上有一个关于 view controller containment 的演讲,我推荐观看视频。

关于iphone - 在 iOS 中嵌套 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13423350/

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