如何在现有视图控制器之上部分加载新的视图控制器?

Posted

技术标签:

【中文标题】如何在现有视图控制器之上部分加载新的视图控制器?【英文标题】:How can i load a new view controller partially on top of the existing view controller? 【发布时间】:2016-01-28 01:33:16 【问题描述】:

目标是实现与在 ios 上的邮件应用程序中创建新电子邮件完全相同的效果。

单击邮件应用右下角的“撰写”按钮时,当前视图控制器会在背景中略微淡出,并在其顶部部分加载新的视图控制器。旧的视图控制器仍然可以在屏幕顶部看到。当点击右上角的“+”按钮时,Fantastical 应用程序也能做到这一点。

【问题讨论】:

【参考方案1】:

您可以将其作为子视图控制器添加到当前视图控制器中。

// Parent View Controller

//...

let childController = ChildController()
addChildViewController(childController)

// add the child controller's view in, reframe it, animate it here
addSubview(childController.view)

// To remove the controller
childController.removeFromParentViewController()

【讨论】:

以上是关于如何在现有视图控制器之上部分加载新的视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章

如何将新的 viewController 推送到另一个视图控制器中的现有视图中?

如何在 Codeigniter 中使视图“可移植”?

NSManagedObject 如何重新加载

如何从故事板中绘制的现有视图控制器构建导航控制器?

如何更改 UIView 的 z 索引或堆栈顺序?

根视图控制器的子视图控制器位于根之上