【问题标题】:How do I put two UIViewController vertically in UIKit?如何在 UIKit 中垂直放置两个 UIViewController?
【发布时间】:2020-08-14 11:54:56
【问题描述】:

我想在 UIKit 中同时将两个 UIViewController 放在一个屏幕上。但是,我找不到解决方案。

像这样:

我想在一个屏幕上独立显示 UINavigationController 和 Admob Banner。一个不影响另一个。

你能告诉我怎么做吗?

【问题讨论】:

标签: swift uiviewcontroller uikit


【解决方案1】:

您想使用视图控制器容器。最简单的方法如下。

打开你的故事板。

添加视图控制器。我们称它为“父母”。给它一个唯一的标识符。

点击“+”将新组件添加到您的父视图控制器。搜索“容器”并将 2 个容器视图拖到您的父视图控制器上。这些容器视图将包含您的 2 个视图控制器的内容视图。在这些容器视图上设置约束,使它们在您的图片中显示在顶部和底部。

接下来将视图控制器 1 和视图控制器 2 的视图控制器添加到情节提要中。 (您也可以添加链接到来自其他故事板的视图控制器,但我将忽略这一点。)让我们将它们称为 Child1 和 Child2。

从 Parent 中的每个容器按住 Control 并拖动到要出现在该容器中的子视图控制器上。出现提示时,选择您要创建“嵌入转场”。

embed segue 告诉您的应用它应该在加载 Parent 时加载子视图控制器,并使它们的内容视图成为容器视图的子视图。

在 Parent 中,PrepareForSegue() 方法将在每个子视图控制器已初始化并且其视图准备加载时触发。此时您可以将信息传递给子视图控制器,设置委托链接等(请注意,您不能也不应该直接操作子视图控制器的视图层次结构。相反,将数据传递给子视图控制器使用这些视图控制器的属性或方法,并让孩子的 viewDidLoad 方法根据需要将该数据安装到视图中。

【讨论】:

  • 谢谢!!我现在可以准确地创建我想要的东西了。
  • 使用 PrepareForSegue() 将数据传递给多个目标视图控制器、设置委托等有一些技巧。我建议您进行一些谷歌搜索,如果您仍然需要更多帮助,请发布以下内容-关于那部分的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-22
  • 2018-09-27
相关资源
最近更新 更多