无法在 IOS8 中使用 showSegue 以编程方式“推送”视图控制器

Posted

技术标签:

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

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

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

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

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

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

[self showViewController:DestinationViewController] it works.

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

【问题讨论】:

您是否检查过您调用 performSegueWithIdentifier: 的方法是否实际执行了? 【参考方案1】:

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

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

【讨论】:

我在 IOS8 中使用自适应视图控制器,不推荐使用 show segue 给定推送。我确实在故事板中命名了segue。问题在于在 tableviewcontroller 级别而不是从 tableview 单元格定义 segue。 @everestman 好的,你确定在 Storyboard segue 中选择了Show (e.g. Push) 吗?我也用表格视图控制器完成了这项工作,效果很好。 我发现了这个问题 - 我在我的类中定义了一个 - performeguewithidentifier 方法,它覆盖了默认行为以推送视图控制器。取出方法现在解决了问题

以上是关于无法在 IOS8 中使用 showSegue 以编程方式“推送”视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

无法使用社交框架在 iOS8 中设置联系人图像

TTTAttributedLabel链接检测在iOS8中使用swift无法正常工作

无法在 iOS8 上的 UIAlertController 中显示 UIPickerView

无法在 iOS8 自定义键盘中获得约束

在 iOS8 中无法获得正确的键盘高度值

无法在 iOS8 上的 iTunes Store 中搜索