"其视图不在视图层次结构中"在塞格

时间:2015-12-16 16:55:31

标签: ios swift segue uiview-hierarchy

我尝试以编程方式从一个视图到另一个视图执行segue,在它被加载之后(服务器发送命令继续)但是它不会发生因为"其视图不是在视图层次结构"。关于如何解决它的任何想法?

P.S。我没有从viewDidLoad()方法执行任何segue,所有这些都是从一个方法执行的,该方法也是从这个类中的另一个方法调用的(它读取从服务器发送的字典)。我还试图像这样执行segues

dispatch_async(dispatch_get_main_queue(), {
     self.performSegueWithIdentifier("seg_wait_ready", sender: self)
})

就像这样(即使我知道这是错的):

performSegueWithIdentifier("seg_wait_ready", sender: self)

这些都不起作用,我仍然得到同样的警告。

1 个答案:

答案 0 :(得分:0)

我通过更改应用程序更改VC的逻辑来解决此问题。现在我通过代理直接执行以下操作(粗略地):

delegate.window!.rootViewController = destinationViewController

它花了我所有的系统转换动画,但无论如何我喜欢做自定义的动画。但请记住将其保留在主队列中。为了安全起见,请将其手动放入主队列中,如下所示:

dispatch_async(dispatch_get_main_queue(), {delegate.window! ... })