如何在尺寸类更改期间从自定义演示控制器过渡到模态?

Posted

技术标签:

【中文标题】如何在尺寸类更改期间从自定义演示控制器过渡到模态?【英文标题】:How can I transition from a custom presentation controller to a modal during size class changes? 【发布时间】:2015-08-25 18:22:09 【问题描述】:

我有一个视图控制器,如果水平尺寸类紧凑,我想以模态方式呈现,否则使用自定义转换委托,如下所示:

if traitCollection.horizontalSizeClass == .Compact 
    settingsViewController.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: "dismissSettings")
 else 
    navigationController.transitioningDelegate = drawerTransitioningDelegate
    navigationController.modalPresentationStyle = .Custom

presentViewController(navigationController, animated: true, completion: nil)

我想做一些类似于 Apple 在 iPhone 6 Plus 上处理表单的事情。在横向视图中,视图是带有暗色背景的表单,而在纵向视图中,视图是全屏模式视图控制器。更重要的是,它在旋转设备时过渡精美。如何以相同的方式设置我的视图和演示文稿?

【问题讨论】:

【参考方案1】:

请参阅 AdaptivePresentationStyleForPresentationController

【讨论】:

以上是关于如何在尺寸类更改期间从自定义演示控制器过渡到模态?的主要内容,如果未能解决你的问题,请参考以下文章

部分卷曲过渡导致控件调整大小

自定义演示未加载到 Magnolia CMS

使用自定义演示控制器时保留原始状态栏外观

iOS 8 自定义视图控制器演示:在动画期间更改呈现的 VC 的大小

如何使用 TypedRowControllerType 在 Eureka 4.3 中创建自定义演示者行?

如何从 WatchOS 3 中的自定义通知操作中打开特定的视图控制器