在我的iOS应用程序中,我的VC通过代码呈现模式(A)。
但是,当我已经有另一个模态(B)时,这个模式根本没有显示。
然而,当(A)被解除时,我看到(B)也会被取消。
如何确保(B)始终显示,无论如何,并且在所有其他模态之前?
performSegueWithIdentifier(SEGUES.SegueTabBarToBroadcast, sender: view )
我的TabBarViewController正在调用此segue。 (根据故事板,segue是模态的。)
当我的TabBar中的一个视图控制器呈现模态时,会出现问题。然后,当我尝试调用performSegueWithIdentifier
时,模态不会显示(但是当我关闭另一个模态时会停止)。
我只是想让这个模态无关紧要。此模态应与所有其他模态重叠。
我也试过这个,但问题仍然存在:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let bvc = storyboard.instantiateViewControllerWithIdentifier("BroadcastViewController") as! BroadcastViewController
self.presentViewController( bvc , animated: true, completion: nil)
答案 0 :(得分:0)
将多个视图控制器作为模态呈现并不是一种好习惯。如果您想要呈现您的vc,无论如何,您必须了解视图控制器的层次结构。不久,您可以在具有窗口的视图上以模态方式呈现视图控制器,并且当您已经以模态方式呈现任何vc时,呈现vc的视图控制器视图没有窗口,因此无法呈现其他视图控制器模态。结论:您可以从最顶层的vc中以模态方式呈现vc。因此,解决方案将保持对最顶层vc的引用,并从该vc呈现所需的vc。另一个解决方案是将vc的视图直接添加到应用程序的主窗口,但我不建议以这种方式解决您的问题。希望,这有帮助。