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

4
我找不到这个看似基础的问题的答案。假设我有一个带有两个视图控制器A和B以及一个从一个控制器转换到另一个控制器的segue过渡的故事板。现在,我创建了一个不同的视图控制器C,并想将现有的segue从A重定向到C。
我尝试使用Ctrl拖动、command拖动等方法,但似乎都不起作用。在实际应用中,我有太多的segue需要尝试重新创建它们。是否有更简单的方法?
这个问题并不是标记为重复的问题,因为我正在尝试重用现有的segue,而不是直接指向不同的控制器。
谢谢!

可能是重复的问题:重定向到另一个视图控制器 - Mehul
3个回答

4

选项1,使用XML文件

  • 首先,右键点击Storyboard文件。然后选择“作为源代码打开”

enter image description here

  • Search segue,then change the destination id

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

选项2,使用Interface Builder

  • 首先,选择segue源视图控制器

enter image description here

  • 其次,在控制器中创建相同的segue(Control+拖动),如图片所示

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

enter image description here

您只需要删除旧的那个即可。


还有没有办法改变segue的源呢?例如,我错误地从整个视图控制器创建了一个segue到另一个视图控制器,而不是从TableViewCell作为源。我能否在不删除它的情况下将其源从主视图更改为TableViewCell? - sliwinski.lukas

1
你可以从ViewController的顶部图标将segue拖动到其他控制器。只需在storyboard上单击segue指针并打开属性检查器来为segue命名,最后只需编写代码即可。
情况1:从A推送Segue到B
[self performSegueWithIdentifier:@"PushB" sender:self]; //PushB is segue identifier

案例二:从A向C推送Segue。
[self performSegueWithIdentifier:@"PushC" sender:self];

注意:在执行performSegueWithIdentifier之前,您必须将导航控制器设置为故事板的初始点。
希望这可以帮到您。

-1

从A到B删除以前的内容,然后重新创建从A到C的新内容。

希望这可以帮助你。


这就是我想要避免的。我已经有太多来回连接的现有segue了。 - F L

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接