以编程方式调用performSegueWithIdentifier不执行任何操作

时间:2014-10-15 23:45:25

标签: ios objective-c iphone

我的情况与this帖子完全相同,但无论出于何种原因,我的performSegueWithIdentifier:sender中只有一个有效。

我有一个View Controller(嵌入在UINavigationController中),带有两个按钮,Cancel和Done。单击时,我想取消放松到一个屏幕,然后完成放松到另一个屏幕;但是,这仅适用于我设置的两个段中的一个。

- (IBAction)clickedDone:(id)sender {
    [self performSegueWithIdentifier:@"unwindToHome" sender:self];
}

- (IBAction)clickedCancel:(id)sender {
    [self performSegueWithIdentifier:@"unwindToViewEntries" sender:self];
}

“unwindToHome”工作正常,而“unwindToViewEntries”什么都不做。没有错误,没有打印,没有。如果我切换segues和按钮,“unwindToHome”仍然有效,而“unwindToViewEntries”什么都不做。

我在两个ViewControllers中都有展开方法,我想放松到按钮上没有其他动作。

我觉得奇怪的是只有一个有效。我已经好几次看了他们,我看不到任何不同。

提前感谢您的帮助。如果还有更多我应该检查的事情,请告诉我!

我已经查看了以下帖子的解决方案:

我也尝试删除segues并重新添加它们,以及删除和重新添加整个视图控制器。每一次,都是一样的行为。

编辑:我还应该提一下,我已经尝试在不同的视图中添加其他segue,而没有添加任何新的工作。只有“unwindToHome”似乎有效,我无法弄清楚原因。

1 个答案:

答案 0 :(得分:1)

在故事板中确保两个segues都显示它是一个show(push)segues。之前有一个问题,有点不同,如果你从同一个按钮创建两个segues,Xcode设置一个推另一个模态。

快乐的编码!