【发布时间】:2016-04-08 04:19:32
【问题描述】:
我有一个包含在导航控制器中的主屏幕。
主屏幕有几个按钮可以触发到其他视图的 segues。一键进入表格视图。
此表中的选择应触发通常由主视图上的按钮之一执行的转场。
我假设我需要先展开到主屏幕,然后以编程方式从展开转场触发转场,但是当我这样做时,它会先执行程序转场,然后展开,最后再次出现在主屏幕上。
处理这种情况的正确方法是什么?我不想在以编程方式调用 segue 之后返回表格视图,然后返回按钮应该转到主视图。
如果它有助于进一步解释我的用例:表格视图是一个级别列表。选择应该启动我的游戏视图,并在表格视图中选择级别。
我在主视图中的放松转场:
@IBAction func backFromLevelSelectionUnwindSegue(segue:UIStoryboardSegue) {
performSegueWithIdentifier("playSegue", sender: self)
}
显然playSegue 是游戏视图控制器的segue。
对类似问题的回答建议设置一个布尔标志,然后在 viewDidAppear 中执行转场,但 viewDidAppear 似乎不必知道已发生的展开转场。有没有我没有遇到过的“正确”解决方案?
【问题讨论】:
标签: xcode swift interface-builder