如果我们有一个情况,你有三个ViewControllers。黄色,绿色和白色的。
你可以通过黄色和绿色两种方式到达白色的。如需更多澄清,请参阅图片:

当我从黄色转换为white时,我为segue做准备并将NSUinteger jimmy_hendrix值设置为0;
当我从绿色转换为白色时,我为segue做准备并将NSUinteger jimmy_hendrix值设置为1;
在白色VC中,我制作了IBAction并连接了一个后退按钮。在那里,取决于我想要展开的值,我在白色VC中结束了这段代码。
这是我使用的代码:
- (IBAction)goBack:(UIButton *)sender {
switch (_jimmy_hendrix) {
case 0:
[self performSegueWithIdentifier:@"fromYellowToWhite" sender:self];
break;
case 1:
[self performSegueWithIdentifier:@"fromGreenToWhite" sender:self];
break;
}
}但是,我有个例外:
'Receiver (<WhiteVC: 0x15d8c850>) has no segue with identifier 'fromSuperTraenerToSuperTraenerQuestions为了说明这一点,我从不从后退按钮中拖动ctrl +退出,然后选择展开segue方法,因为我想执行两个展开,基于哪个VC和使用哪个segue。
解决这一问题的办法是什么?怎样才能回到我最初用来解决问题的ViewvController呢?
重要的是:我知道我可以做新的鞋,从白色到黄色和绿色,并称之为它们。但我不想那样.我不想做新的,我想通过编程来解除现有的。
编辑:--我忘了提到我确实用绿色和黄色VC做了解压方法
-(IBAction)fromYellowToWhite:(UIStoryboardSegue *)segue {
}
-(IBAction)fromGreenToWhite:(UIStoryboardSegue *)segue {
}发布于 2014-10-02 10:42:09
你需要创建松开的坐垫。在YellowVC中创建一个方法
-(IBAction)fromYellowToWhite:(UIStoryboardSegue *)segue {
}在GreenVC中创建一个方法
-(IBAction)fromGreenToWhite:(UIStoryboardSegue *)segue {
}然后从白色中的UIViewController实例拖动到白色场景中的"exit“图标,并选择fromYellowToWhite。重复此操作并选择fromGreenToWhite:
最后,选择您的新创建的展开索引,并将标识符设置为"fromYellowToWhite“和"fromGreenToWhite”--它们应该具有"fromYellowToWhite:“和"fromGreenToWhite:”的‘动作’。
发布于 2014-10-02 10:42:59
您不必从后退按钮拖动到“退出”,但您可以从视图控制器本身拖动到“退出”。再做两次。一个将退出到黄色VC,另一个将退出绿色VC。
现在在IB你将有两个新的塞格,你可以把它们命名为"WhiteToYellowUnwindSegue“等等。
为了表演这些你可以..。
[self performSegueWithIdentifier:@"WhiteToYellowUnwindSegue" sender:self];等等。
https://stackoverflow.com/questions/26159014
复制相似问题