UIViewController
必须在iPad中以模态呈现,而在iPhone中应以相同的方式呈现。苹果默认情况下对它的支持吗?
答案 0 :(得分:0)
您必须检测设备并相应地执行任务。
if UIDevice.current.userInterfaceIdiom == .pad {
//present modally
} else if UIDevice.current.userInterfaceIdiom == . phone {
//push
}
答案 1 :(得分:0)
如前所述,您将需要手动执行此操作。您可以检查拥有的设备,并决定如何显示视图控制器。
但这通常会产生很大的问题,并且会大大增加应用程序的复杂性。由于在一种情况下您正在演示,而在另一种情况下您在推动视图控制器,因此您还需要弹出或关闭它。可以通过添加一些额外的属性来轻松解决此问题,但是稍后,当您要关闭整个导航堆栈或类似的内容时,它可能会再次干扰。更不用说深度链接的问题了。
因此,如果可能,我将尽量避免根据设备使用不同的视图控制器层次结构。如果可能的话,我将尝试简单地更改动画(我想这就是您所需要的)。也许this会有所帮助。