具有过渡委托的自定义侧面菜单第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
- Objective C自定义惰性加载图像UITableView Cell
- xcode 8.0“添加Push Notif(..)到您的应用程序ID”警告,而已经添加
- 如何在iPhone上的Phonegap中运行后台JavaScript – 用于定时器/秒表?
- 未find'FBSDKLoginKit / FBSDKLoginKit.h'文件(Facebook SDK for iOS v4.2&Xcode 7)
- 如何将Core Data实体导出为CSV文件
- 检测是否使用colorWithPatternImage创build了UIColor
- apportable(apportable.com)是否支持CocoaPods
- iOS App证书和发行👈
- 如何准确检测是否在Swift 4中的UILabels内部点击了链接?