我在应用程序的Swift 4中添加了一个功能,该功能允许视图在显示图表时定向为横向或纵向。我为每个方向创建了两个单独的视图,并创建了处理流程的逻辑。除了一个小问题,我可以解决,如果我可以确定调用ViewController的话,它可以正常工作。我尝试使用

self.window?.rootViewController?.presentedViewController


事实证明这是不正确的。我已经检查了应用程序和窗口的参数,都没有成功。这是可能做到的还是我需要依赖全局变量?

最佳答案

应用程序委托返回一个位掩码,该位掩码指示整个应用程序支持的方向的“最大集”,而与当前显示哪个视图控制器无关。

另外还要求显示的具体视图控制器(supportedInterfaceOrientations),并返回其自己的受支持方向。

最后,两个返回值将相交以获得当前支持的方向。

如果我没记错的话,这两个值必须至少在一个方向上一致。如果例如应用程序代表说它仅支持“人像(上)”,而视图控制器仅支持“左向风景”,您的应用程序将崩溃(或者做得更糟)

关于swift - 如何从AppDelegate中的supportedInterfaceOrientationsFor方法获取调用ViewController?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49293613/

10-12 03:44