1 个屏幕的最佳方法包含 2 个视图控制器

Posted

技术标签:

【中文标题】1 个屏幕的最佳方法包含 2 个视图控制器【英文标题】:Best approach for 1 screen contains 2 view controller 【发布时间】:2015-09-02 08:02:52 【问题描述】:

我想学习 ios 中的父子概念。我在应用商店找到了一些应用,我喜欢他们的设计。当用户点击视图更改下方的按钮并调用其视图控制器时,它们在同一视图控制器中有 3 个按钮。就像一个 TabBar。

我尝试创建了 3 个 xib 文件。当用户点击他们从笔尖唤醒的按钮时,我将它们添加到我的 containerView 子视图中。有用。但是我无法在它们之间发送数据,因为没有准备 segue 方法,所以我无法准备它们。

我尝试在 Storyboard 中创建 3 个 viewController,并将它们与 Storyboard ID 一起使用。有用。但仍然无法在它们之间传输数据。

我不明白解决这个问题的最佳方法是什么?我在网上研究了 Custom SeguesParent - Child 概念,但找不到任何东西。

在图像中制作容器的最佳方法是什么?

谢谢。

【问题讨论】:

如果您不介意滑动过渡,您可以将 3 个子控制器放在 UIPageViewController 是的。我可以使用 UIPageViewController、CustomUIViews、Xib。但是,我想了解什么是最好的方法?我不想解决这个问题。我想学习这个概念。谢谢你的回答。 【参考方案1】:

我不确定是否有最好的方法,至少在一般意义上。这实际上取决于您的具体需求和应用程序的其他逻辑。

在 Storyboard 中创建 XIB 文件和创建 ViewController 以及它们的 ID 都可以。这里更多的是关于您的首选方式。我想说的是,今天您可能会看到更多使用 Storyboard 而非 XIB 文件。

在数据转换方面。有几种方法,如果不是一些非常繁重的逻辑,那么委托可以很容易地做到这一点。

【讨论】:

自定义 segue 或父子概念怎么样?我不太清楚,但它必须以某种方式使用 segues 进行创作。 你为什么这么想要segues?好吧,您可以创建一个 ViewController,它可以“充当”类似于 TabBarViewController 的东西,然后使用 segues 连接 3 个 ViewController。您也可以使用一个 ViewController 并添加三个按钮和三个视图来完成所有操作。 我之前说过,我可以做PageViewController、UIView、Xib、Storyboard ID。我不想解决这个问题。我只想知道最好的方法是什么?这不取决于我对学习正确方法的具体要求。 告诉你“什么是最好的方法”在某些情况下几乎肯定是错误的。正如我所说,这实际上取决于您的应用程序的其他逻辑和应用程序的设计。您提到的所有选项都不是特别糟糕或 100% 正确。针对您的特定应用,选择简单、干净、快速的选项。 首先感谢您的回答。但在这种情况下;不,它不取决于需求。我的主要目标和形象非常明确,我想知道最好的方法。

以上是关于1 个屏幕的最佳方法包含 2 个视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

将 2 个视图链接到视图控制器的主要问题

我怎样才能让 1 个视图控制器从底部向上滑动

在 iOS 中切换视图控制器的最佳方法

在 iOS5 视图控制器中创建链接/按钮动态列表的最佳方法

屏幕的某些部分在 SWIFT 中不可点击

Swift - 如何在 2 个视图控制器之间导航时删除黑色导航栏