gpt4 book ai didi

ios - 在容器 View 中加载 ViewController

转载 作者:IT王子 更新时间:2023-10-29 05:12:47 24 4
gpt4 key购买 nike

我在 VC 中有一个全屏的 containerView。如果我从 Storyboard 中手动将一个 child 添加到 containerView 中,那么嵌入 segue 看起来不错: enter image description here

但是如果我通过代码嵌入 VC:

class BannerContainerVC: UIViewController {

@IBOutlet weak var container: UIView!

override func viewDidLoad() {
super.viewDidLoad()
let vc = storyboard?.instantiateViewControllerWithIdentifier("test") as UIViewController
self.container.addSubview(vc.view)
}
}

我得到了非常奇怪的结果:

enter image description here

最佳答案

您需要告诉您的 BannerContainer View Controller 它有一个新的子 Controller ,并告诉子 Controller 它有一个父 VC。 Apple 文档中对此进行了描述 here .像这样:

   [self addChildViewController:vc];
vc.view.frame = CGRectMake(0, 0, self.container.frame.size.width, self.container.frame.size.height);
[self.container addSubview:vc.view];
[vc didMoveToParentViewController:self];

或者在 Swift 中:

    self.addChildViewController(vc)
vc.view.frame = CGRectMake(0, 0, self.container.frame.size.width, self.container.frame.size.height);
self.container.addSubview(vc.view)
vc.didMoveToParentViewController(self)

这确保各种布局和触摸方法都传递给子 VC;我怀疑您遇到的布局问题可能是由于当前未调用这些方法造成的。

关于ios - 在容器 View 中加载 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28852338/

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