具有过渡委托的自定义侧面菜单第1部分

在开始编码之前,让我们概述过渡委托的机制。

绿色视图(Presenting View)表示一个视图将由蓝色视图呈现。 蓝色视图(Presented View)是目标视图。 为简单起见,绿色视图为“ from”,蓝色视图为“ to”。

过渡期间有3个对象在起作用,分别是Animator,Interactive Animator和Presentation Controller。

我将主题分为三个部分

  • 第1部分:我们将逐步实现Animator
  • 第2部分: 演示控制器
  • 第3部分: 交互式动画师

让我们先谈谈Animator,它是什么以及它是做什么的。 Animator是负责管理过渡的对象。

在过渡期间,将有一个名为“ containerView”的附加视图,该视图管理其内部两个视图之间的过渡。 Transitioning Context是Animator中的一个对象,它可以控制时间并操纵present和dismiss的动画。

漫长的故事结束了。 让我们在编码之前先看一下文件结构。

让我们先从Animator开始。

将segue拖动到MenuViewController导航并设置其属性,如下图所示。 这是segue的属性。

接下来,创建FristViewController 。 请记住设置modalPresentationStyle = .custom,因为我们将覆盖默认动画。

让我们详细讨论一下过渡期间幕后的真实情况。

在动画发生之前查看层次结构。 尚无容器视图显示。

黑色视图表示Window 。 好吧,调试视图时非常熟悉。 这里特别注意。

完成动画后查看层次结构。

现在可以使用类名称UITransitionView来玩Container View

我用棕色填充容器视图以区分视图

我将在这里完成第1部分 ,并继续第2部分中如何在P 重现ViewController实现中添加变暗视图或阴影视图。

我希望你们能理解过渡委托的概念。

tylerlantern / SideMenuDemo

通过在GitHub上创建一个帐户来促进tylerlantern / SideMenuDemo开发。

github.com