如何在 iOS 5 中执行与用户输入无关的转场?
Posted
技术标签:
【中文标题】如何在 iOS 5 中执行与用户输入无关的转场?【英文标题】:How to perform a segue that is not related to user input in iOS 5? 【发布时间】:2011-12-19 08:47:19 【问题描述】:考虑一个带有按钮的视图。我们可以从这个按钮拖动一个连接到其他视图控制器,在 IB 中创建一个 segue,我们很高兴。如果我需要在某些事件(例如网络进度)上执行的转场,并且与任何用户操作无关怎么办?现在我正在放置一个按钮,从这个按钮拖动一个segue,隐藏按钮,为一个segue分配一个标识符,然后在我执行这个segue的代码中的某个地方。但是,我认为放置一个虚拟按钮不是正确的方法。可能我在使用故事板时遗漏了一些东西,你能帮我理解吗?
【问题讨论】:
【参考方案1】:通过 ctrl 从视图控制器拖动到下一个视图来创建你的 segue。 然后调用你的 segue,调用:
[self performSegueWithIdentifier: @"SegueToScene1" sender: self];
确保您在故事板中为您的 segue 命名。
【讨论】:
Ctrl-拖动从视图控制器到下一个视图是缺失的部分,谢谢!【参考方案2】:您可以使用 performSegueWithIdentifier: 方法根据某些条件强制转换到新视图。当你调用它时,它也会自动调用 prepareForSegue: (通常在故事板即将转换到新视图时调用)。
我写了一篇关于控制推送视图here 的帖子,它应该涵盖了您所说的大部分内容。
【讨论】:
以上是关于如何在 iOS 5 中执行与用户输入无关的转场?的主要内容,如果未能解决你的问题,请参考以下文章
APNs:单击通知时如何执行转场以转到特定的 ViewController