IOS7 - performSegueWIthIdentifier没有任何效果

时间:2013-10-10 08:30:35

标签: ios storyboard ios7 segue uistoryboardsegue

我在iOS7中遇到一个问题,我在调用带有performSegueWithIdentifier的segue(我的代码就像这样在其他地方都有效),然后我在prepareForSegue中记录segue,然后我再次记录segue应该推到顶部的视图控制器(VC)。

适当调用

prepareForSegue并且segue具有正确的字符串作为其标识符属性。然而,它应该推向顶端的VC永远不会被初始化,也不会被viewWillAppear调用。

我正在谈论的segue,这是唯一一个不起作用的(所有其他的都在ios6和7中工作),是中心VC到正确VC的领先者。顺便说一句,这在iOS6中完美无缺。

可能是什么原因?

代码:

-(IBAction)gotoMainMenu:(id)sender{

    DLog(@"DifferentName");

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


}

enter image description here

2 个答案:

答案 0 :(得分:3)

养成不将segue连接到按钮的习惯。将它们连接到VC,然后在touchUpInside操作中,触发performSegueWithIdentifier。

答案 1 :(得分:0)

我遇到了同样的问题并解决了如下问题。在视图A中,我有一个由按钮(UIButton)触发的segue,该按钮也连接到我的控制器中的动作。当我单击视图A中的按钮时,视图B将按预期显示。但是,当我尝试单击View B中的按钮转到View C时,没有发生任何事情,就像上面描述的那样。

在我的情况下,问题在View A中解决了。我删除了绑定到按钮的segue并让与按钮句柄相关联的IBAction调用performSegueWithIdentifier,然后我创建了一个新的手动segue,它只被绑定对于观点而言,事情再次按预期发挥作用。

简而言之,我想确保你没有和动作和一个segue链接到同一个按钮。希望这会有所帮助。