gpt4 book ai didi

ios - addChildViewController 方法只能用于将 subview Controller 添加到 containerViewController 吗?

转载 作者:行者123 更新时间:2023-11-28 21:00:17 26 4
gpt4 key购买 nike

我在Apple上看到这个方法的描述

func addChildViewController(_ childController: UIViewController)

This method is only intended to be called by an implementation of a custom container view controller. If you override this method, you must call super in your implementation.

我明白了,很多例子表明人们在没有 containerViewController 的情况下到处都使用 addChildViewController

例如:我没有使用containerView。我在下面添加了?这是正确的吗?

   // Create child VC
let childVC = UIViewController()

// Set child VC
self.addChildViewController(childVC)

// Add child VC's view to parent
self.view.addSubview(childVC.view)

// Register child VC
childVC.didMove(toParentViewController: self)

// Setup constraints for layout
childVC.view.translatesAutoresizingMaskIntoConstraints = false
childVC.view.topAnchor.constraint(equalTo: heroView.bottomAnchor).isActive = true
childVC.view.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true
childVC.view.widthAnchor.constraint(equalTo: self.view.widthAnchor).isActive = true
childVC.view.heightAnchor.constraint(equalToConstant: height).isActive = true

最佳答案

如文档所述,该方法旨在供可以包含另一个 View Controller 的 View Controller 使用。一个例子是导航和标签栏 Controller 。

如果您实现了一个自定义 Controller ,例如,将一个 Controller 放在屏幕的上半部分和下半部分,当您设置 bottomHalfViewController 属性时,您将调用 addChildViewController 方法让您的 Controller 知道它应该处理该 View Controller ,因为它是 subview Controller 。

这意味着它将转发所有 View 生命周期调用,如 viewWillAppear:

关于ios - addChildViewController 方法只能用于将 subview Controller 添加到 containerViewController 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49480878/

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