在 ipad 中模态显示视图并在 iphone 中推送
Posted
技术标签:
【中文标题】在 ipad 中模态显示视图并在 iphone 中推送【英文标题】:Display view modally in ipad and push in iphone 【发布时间】:2018-10-01 06:52:39 【问题描述】:UIViewController
必须在 iPad 中以模态方式呈现,而在 iPhone 中则应推送。默认情况下,苹果是否支持相同的功能?
【问题讨论】:
不,您必须检测设备类型并相应地执行任务。 【参考方案1】:您必须检测设备并相应地执行任务。
if UIDevice.current.userInterfaceIdiom == .pad
//present modally
else if UIDevice.current.userInterfaceIdiom == . phone
//push
【讨论】:
【参考方案2】:如前所述,您需要手动执行此操作。您可以检查您拥有的设备并决定如何展示您的视图控制器。
但这通常会产生一个巨大的问题,并且会大大增加您的应用程序的复杂性。由于您在一种情况下呈现,而在另一种情况下推送视图控制器,您还需要弹出或关闭它。这可以通过添加一些额外的属性轻松解决,但稍后当您想要关闭整个导航堆栈或类似内容时,它可能会再次干扰。更不用说深度链接的问题了。
因此,如果可能的话,我会尽量避免根据设备使用不同的视图控制器层次结构。如果可能的话,我会尝试简单地更改动画(我假设这就是你所需要的)。也许this 会有所帮助。
【讨论】:
以上是关于在 ipad 中模态显示视图并在 iphone 中推送的主要内容,如果未能解决你的问题,请参考以下文章
UIPopover 中显示时的 UINavigationController 内容偏移