gpt4 book ai didi

ios - 如何将数据传递到 UIView 中的嵌入式 UIViewController - Swift 5

转载 作者:行者123 更新时间:2023-11-29 05:26:22 26 4
gpt4 key购买 nike

有一个 View Controller B。因此,将 B 作为 subview Controller 嵌入到 UIView 的 viewController A 中。现在,当 subview Controller B 添加为 subview 时,需要调用 subview Controller B 中的 api。因此,需要在将 B 添加为子级时设置检查,然后才需要命中此 api。请在此提供帮助。

下面是代码,我如何将 B 作为 subview 嵌入到 A viewController 中:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vcController: UIViewController = storyboard.instantiateViewController(withIdentifier: "BNameViewController") as! BNameViewController

//add as a childviewcontroller
addChild(vcController)

// Add the child's View as a subview
viewBList.addSubview(vcController.view)
vcController.view.frame = viewBList.bounds
vcController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

// tell the childviewcontroller it's contained in it's parent
vcController.didMove(toParent: self)

viewBList是 View Controller A中的UIView。因此,现在在这种情况下需要在 VC B 中调用 api,而不是当我们从任何其他 VC 导航到 B 时。我尝试通过在 VC B 中声明相同的值来传递 bool 或字符串,并从 A 中传递值,但这不起作用。请指导。希望我的问题说清楚了,如有疑问,请随时询问。

最佳答案

有很多方法可以做到这一点,当您从其他 View Controller 导航到 View Controller B 时,您的 navigationController 属性不为零。

在这种情况下你可以这样检查

override func viewDidLoad(animated: Bool) {
super.viewDidLoad(animated: animated)
//If navigating from some view controller then
if self.navigationController != nil {
//Code here for case, when you are navigating from some one
}

//View controller is child of someone
if (self.navigationController == nil || self.presentingViewController == nil || self.parent != nil ) {
//This is your case,
// hit api here
}
}

关于ios - 如何将数据传递到 UIView 中的嵌入式 UIViewController - Swift 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58130171/

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