我有一个情节提要,其中包含一个启动视图控制器,该控制器提供了其他模态视图控制器。

假设视图控制器A是startingViewController,视图控制器B是模态呈现的视图控制器。

如何触发从ViewController A的B到B的退序(不只是从ViewController B上的按钮)?

该按钮可用来执行展开功能,但是当我尝试使用编程方式执行该功能时

[self performSegueWithIdentifier:@"ReturnToStart" sender:self]


发生错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<StartViewController: 0x1ed4b9b0>) has no segue with identifier 'ReturnToStart''


我不明白的是,当我按下模态视图控制器上的一个按钮时,展开的segue工作正常,但是当我尝试从另一个ViewController触发时,segue只是找不到(标识符在情节提要中是正确的) )。

有什么方法可以从我的startupViewController访问所有的序列,或者我的结构从根本上是错误的吗?

最佳答案

segue“属于”源View Controller,因此这就是为什么您收到该错误消息的原因。可以从源视图控制器中调用Segues。

如果要从A取消viewControllerB,请不要使用segue,而只需使用:

dismissViewControllerAnimated:completion:

关于ios - 放宽搜寻未触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16405937/

10-15 14:11