gpt4 book ai didi

ios - swift - 向模态视图添加约束

转载 作者:行者123 更新时间:2023-11-29 02:24:43 25 4
gpt4 key购买 nike

在我的 Storyboard上,我有 2 个 View Controller ,一个带有背景图像,一个带有模糊效果和标签

storyboard

我想在第一个 View 之上展示第二个 View 。我正在使用以下代码:

 override func viewDidAppear(animated: Bool) {
var vc = self.storyboard?.instantiateViewControllerWithIdentifier("second") as secondViewController
self.view.addSubview(vc.view)

super.viewDidAppear(animated)
}

我使用的是 addSubView 而不是 presentViewController,因为最新的导致我的第一个 View 在转换完成后消失,我得到的只是黑屏。

只要我不向第二个 View 添加约束,我的代码似乎就在正确的方向(见下文):

enter image description here

但是,当我向第二个 View 添加约束时,它根本不会显示。

:将第二个 View Controller 显示为覆盖层并为其提供正确约束的正确方法是什么

编辑:我尝试按照@topher91 的建议添加vc.view.frame = self.view.frame。视野出现片刻然后消失。这是调试 View 层次结构: enter image description here

最佳答案

您应该将叠加层创建为不同的 View 而不是新的 View Controller 。然后在 Storyboard中你可以设置相对于父 View Controller 的约束:

Custom views with Storyboard

或者,您可以像之前那样继续,但在添加 subview 之前,将叠加层的框架设置为与父级相同。

override func viewDidAppear(animated: Bool) {
var vc = self.storyboard?.instantiateViewControllerWithIdentifier("second") as secondViewController

vc.view.frame = self.view.frame
self.view.addSubview(vc.view)

super.viewDidAppear(animated)
}

关于ios - swift - 向模态视图添加约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27689714/

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