不在只有2个视图控制器的视图层次结构中?

时间:2012-11-29 23:41:00

标签: xcode uistoryboardsegue

我有两个视图控制器通过segues相互连接。当有人按下按钮时,他们会转换到viewcontroller2。在那个viewdidload中,然后我通过使用以下代码启动segue“backs”将它们重新启动回原始视图控制器:

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

然而,它一直拒绝这个简单的过渡,说我的视图控制器不在层次结构中?只有两个视图控制器,所以我想知道这是怎么回事?

1 个答案:

答案 0 :(得分:0)

viewDidLoad太早了。视图已加载,但尚未放置在视图层次结构中。你想等到viewDidAppear。这是视图控制器视图实际上是完整视图层次结构的一部分的第一个时刻。 (即使这样你也可能不得不使用延迟的表现;我不确定。)

关于你所说的另一个问题是,如果你从视图控制器A转到按segue查看控制器B,你就不能回到普通的segue。您必须使用新的“展开”segue功能,否则请手动返回(例如,关闭显示的控制器,弹出推送的控制器)。