【问题标题】:IOS7 - performSegueWIthIdentifier does not have any effectIOS7 - performSegueWIthIdentifier 没有任何效果
【发布时间】:2013-10-17 22:02:56
【问题描述】:

我在 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];


}

【问题讨论】:

  • 图像质量低,但看起来你有从右 VC 到中心 VC 的海格,而不是中心 -> 对。或者你有 2 ?如果是这样 - 请确保您呼叫正确。
  • 我目前也有类似的问题,在应用什么都没有触发segue时会发生什么?如果您在等待转场发生后再次点击屏幕上的任意位置会发生什么情况,这会导致转场发生吗?
  • 我已经验证我调用的是正确的,因为这在 ios6 中完美运行。 @StuartM - 当我再次点击屏幕时没有任何反应。
  • 它们是从按钮还是从单元格触发的?您能否在您的问题中提供 prepareForSegue 方法。当你看到他们加入时,我会三次检查你是否有正确的转场。您需要点击 segue 路径而不是 segue 圈并检查您提供的 segueName,确保它们在进/出的两个方向上都不相同。
  • 我已经检查过了,谢谢你的建议! segue 是从一个按钮内触发的

标签: ios storyboard ios7 segue uistoryboardsegue


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    在我的情况下,问题已在视图 A 中解决。我删除了绑定到按钮的 segue,并让与按钮关联的 IBAction 处理调用 performSegueWithIdentifier,然后我创建了一个仅绑定的新手动 segue到视图,瞧,事情又按预期工作了。

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

    【讨论】:

      猜你喜欢
      • 2018-06-14
      • 2019-06-19
      • 2017-07-18
      • 2010-10-17
      • 2012-11-25
      • 2013-10-10
      • 2016-08-26
      • 2021-12-15
      • 1970-01-01
      相关资源
      最近更新 更多