将 segue 从一个视图控制器重定向到另一个视图控制器

Redirect segue from one view controller to a different one

我找不到这个看似基本问题的答案。假设我有一个故事板,其中包含两个视图控制器 A 和 B,以及从一个视图控制器到另一个视图控制器的过渡。现在,我创建了一个不同的视图控制器 C,现在想将现有的 segue 从 A 重定向到 C。

我Ctrl拖,command拖等等,好像都不行。在真实的应用程序中,我有太多的 segues 无法尝试从头开始重新创建它们。有没有更简单的方法?

这个问题不是标记的重复问题,因为我正在尝试重用现有的 segue,而不是直接针对不同的控制器。

谢谢!

从A到B删除上一个,然后从A到C重新创建一个。

希望对您有所帮助。

选项 1,使用 XML 文件

  • 首先,右键单击 Storyboard file.Then select open as Source 代码

  • 搜索segue,然后更改目标id

      <segue destination="Esd-4c-JQq" kind="show" id="Jnu-RW-1O5"/>
    

选项 2,使用 Interface Builder

  • 首先,select编辑 segue 源 ViewController

  • 其次,创建一个相同的segue(Control+拖动),如图所示

  • 现在,你有两个相同的segue,

你只需要删除旧的

您可以将 segue 从 ViewController 顶部的 ViewController 图标拖到其他控制器。

只需单击故事板上的 segue 指针,然后打开属性检查器,为 segue 提供标识符,最后您只需执行该代码即可。

案例一:从A推Segue到B

[self performSegueWithIdentifier:@"PushB" sender:self]; //PushB is segue identifier

案例 2:将 Segue 从 A 推送到 C

[self performSegueWithIdentifier:@"PushC" sender:self];

注意:在执行 performSegueWithIdentifier 之前,您必须将导航控制器作为故事板的初始点。

希望这会有所帮助。