gpt4 book ai didi

ios - 如何在不声明的情况下保留 [x]-数量的 viewController 的引用

转载 作者:行者123 更新时间:2023-11-30 12:22:17 27 4
gpt4 key购买 nike

我有一个 mainViewController,我想在其中显示未定义数量的 childViewController 的小网格结构。 childViewControllers 是根据数据创建的,因此我无法提前知道它们的数量。看来我只能和f.ex互动了。 childViewController 中的按钮,如果它由 mainViewController 保留(例如在声明的变量中) - 所以我的问题是,如何保留 mainViewController 和 [x] 数量的 childViewController 之间的引用,而不将它们声明为单独的变量?

我尝试在 childController 上创建父变量并将其设置为 mainViewController,但这并不能解决问题 - (childViewController 中的按钮仅在我单独声明每个 childController 时才可用。)我们尝试创建一个 childController 数组并将它们添加到 mainViewController 中,但这也不起作用。

我不想使用collectionView,因为会涉及很多自定义和动画,那么保留这些childViewControllers的正确方法是什么?

最佳答案

如果我正确理解你的问题:

UIViewController 有一个属性childViewControllers,它是一个数组。

您可以阅读https://developer.apple.com/documentation/uikit/uiviewcontroller实现容器 View Controller 部分来了解如何正确添加 subview Controller 。

然后你可以使用数组下标来获取 [x] 个 subview Controller ,如下所示:

myContainerViewController.childViewControllers[x].whateverButton ...
// or
let childX = myContainerViewController.childViewControllers[x]
childX.doSomething()

父 View Controller 中的 childViewControllers 数组将保留您的 subview Controller 。

编辑:

如果您需要访问子类的属性,那么您必须将 UIViewController 向下转换为您的子类 swift4 link, should be the same for swift3

你像这样沮丧:

if let child = mycontainerVC.childViewControllers[x] as? MySubclassOfUIViewController {
child.subclassProperty = 1 // or whatever
}

关于ios - 如何在不声明的情况下保留 [x]-数量的 viewController 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44653211/

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