ios - 从不同 View Controller 到一个 View Controller 的多个 Segue

标签 ios storyboard segue

场景:

我有五个不同的 View Controller ,并且所有 Controller 的左上角都有菜单按钮。

我已使用 Storyboard通过自定义 Segue 将这五个菜单按钮连接到同一个 MenuViewController。

问题:

  1. 即使当前的 5 View Controller 与附加到 MenuViewController Storyboard的自定义 Segue 看起来非常丑陋,我还是尝试以不同的方式排列它们 但是除了这 5 个之外,还有许多其他 View Controller 和其他 Segue,它们不允许我使 Storyboard 看起来干净并且具有更好的可见性来查看应用程序流程。

  2. 将来将会有更多的 View Controller 在左上角具有相同类型的菜单按钮,我目前正在处理前几个屏幕。

我知道的解决方案:

  1. 使用 Storyboard方法 instantiateViewControllerWithIdentifier 获取 MenuViewController 并手动显示它们。

    我不喜欢它的原因: 自定义 Segue 以更好的方式使用所有动画并在一个位置添加带有 View Controller 代码的 View 。在这里,我需要在每个 View Controller 中编写按钮单击方法,并使用自定义的类似代码来显示动画。

  2. 使用多个 Storyboard,每个模块一个 Storyboard。

    不知道如何在这种情况下使用它,因为它们都是同一模块的一部分,而且我是 Storyboard的新手。

处理这种情况的最佳方法是什么?我缺少更好的解决方案吗? 什么是干净的方法,可以通过更好的应用程序流程可见性来实现这一点,而无需太多重复代码等。

感谢任何帮助。

最佳答案

我认为您只是遇到了项目中 Storyboard的局限性。使用 Storyboard(而不是多个 xib 文件或在代码中执行所有操作)的原因首先是为了在设计时轻松创建和可视化 View Controller (也称为 segues)之间的转换。如果你有太多的转场,以至于它们在屏幕上变得一团乱麻,那么显然 Storyboard方法带来的麻烦大于其值(value)。我会考虑将其分解为 xib,特别是如果您预计您的应用程序将来会变得更加复杂。

关于ios - 从不同 View Controller 到一个 View Controller 的多个 Segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20690591/

相关文章:

ios - 如何向函数添加计时器 - IOS Swift

ios - 如何将 ios-chart 限制为 View 大小

ios - 无法实例化 View Controller

ios - Xcode 6 GM iPhone 6 模拟器 - Storyboard大小不正确,放大显示

iphone - 尝试在从 segue 返回时运行代码

ios - Core Data Nullify 规则何时更新关系?

ios - 没有这样的模块 'FlutterPluginRegistrant'

ios 将数据从 TabbarController 传递到 Storyboard 中的 ViewController

ios - 如何创建取消按钮?

ios - mapKit:在用户选择注释标记后执行segue