【问题标题】:Unable to programmatically "push" viewcontroller using showSegue in IOS8无法在 IOS8 中使用 showSegue 以编程方式“推送”视图控制器
【发布时间】:2014-10-09 03:27:23
【问题描述】:

我已经定义了从源 tableview 控制器到另一个的 segue,并尝试使用以下语句在单击 UITableViewCell 时以编程方式转换到目标控制器:

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

但是,我发现 segue 不会导致“推送”到目标视图控制器。

另一方面,如果我将 segue 连接到源视图控制器中的特定单元格,它就可以工作。

另外,如果我以编程方式调用目标视图控制器:

[self showViewController:DestinationViewController] it works.

如果这是 iOS 8 中的一个已知问题,或者我在这里遗漏了什么,有人可以提出建议。

【问题讨论】:

  • 您是否检查过您调用 performSegueWithIdentifier: 的方法是否实际执行了?

标签: ios uitableview ios8 segue


【解决方案1】:

您的情节提要中有名为pushToDestinationViewController 的segue 吗?您需要先确保在您的 Storyboard 中有这个 segue,如下所示。

或者,如果你只是想简单地推送另一个视图控制器,你可以使用[self.navigationController pushViewController:destinationViewController]

【讨论】:

  • 我在 IOS8 中使用自适应视图控制器,不推荐使用 show segue 给定推送。我确实在故事板中命名了segue。问题在于在 tableviewcontroller 级别而不是从 tableview 单元格定义 segue。
  • @everestman 好的,你确定在 Storyboard segue 中选择了Show (e.g. Push) 吗?我也用表格视图控制器完成了这项工作,效果很好。
  • 我发现了这个问题 - 我在我的类中定义了一个 - performeguewithidentifier 方法,它覆盖了默认行为以推送视图控制器。取出方法现在解决了问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-22
  • 1970-01-01
  • 2012-02-21
  • 2019-03-16
  • 2020-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多