gpt4 book ai didi

ios - 有了 MainViewController,如何在 MainVC 中与实际的 UIContainerViews 通信?

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

我有 MainViewController,它有 4 个 UIContainerViews

我在 MainViewController 上有不同的 UIBarButtonItem,具体取决于显示哪个 ContainerView

当我点击UIBarButtonItem时,我想与特定UIContainerViewUIViewController进行通信。

如何处理?

我已经尝试在子 VC 上使用 static func 但没有成功。此外,self.storyboard?.instantiateViewController(withIdentifier 但最终,它正在实例化,没有获得显示的 VC...

最佳答案

  • 在 interfaceBuilder 中为每个容器 segue 设置标识符。

  • 在 MainViewController 类中为每个容器定义一个占位符:

class MainViewController: UIViewController {

var container1: UIViewController!
var container2: UIViewController!
var container3: UIViewController!
var container4: UIViewController!

```
}
  • 为每个占位符分配 prepare(for segue... 函数中的实际值:
class MainViewController: UIViewController {

```

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let identifier = segue.identifier else { return }
switch identifier {
case "Segue1": container1 = segue.destination
case "Segue2": container2 = segue.destination
case "Segue3": container3 = segue.destination
case "Segue4": container4 = segue.destination
default: return
}
}
}

现在您可以分别访问每个 View Controller 。

关于ios - 有了 MainViewController,如何在 MainVC 中与实际的 UIContainerViews 通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57063153/

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