TransitioningKit0.1

TransitioningKit0.1

测试测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2015年5月
SPM支持 SPM

Wes Lindsay维护。



  • 作者
  • Adam Michela
预先发布

TransitioningKit 是一个 Swift 框架,提供了一组简化、明确和标准化自定义导航和视图控制器转换实施组件。

TransitioningKit 目前提供了三个常用公共类和一个公共协议

PSNavigationControllerDelegate

UINavigationControllerDelegate 协议的具体实现。

当它被分配给 delegate 属性的 UINavigationController 时,PSNavigationControllerDelegate 负责提供用于 pushpop 转换的 UIViewControllerAnimatedTransitioning (“动画器”)和 UIPercentDrivenInteractiveTransition (“交互控制器”)对象。

PSViewControllerTransitioningDelegate

UIViewControllerTransitioningDelegate 协议的具体实现。

类似于 PSNavigationControllerDelegate,当它被分配给 UIViewControllertransitioningDelegate 属性时,PSViewControllerTransitioningDelegate 负责提供用于 presentdismiss 转换的 UIViewControllerAnimatedTransitioning (“动画器”)、UIPercentDrivenInteractiveTransition (“交互控制器”)和 UIPresentationController (“展示控制器”)对象。

PSPanGestureInteractionController

UIPercentDrivenInteractiveTransition 的子类。

PSPanGestureInteractionController 协调一个 UIPanGestureRecognizer 来简化常见的手势驱动交互转换的实现。它包括一个简单的委托协议,您可以实现来定制应用程序的行为。

PSPanGestureInteractionControllerDelegate

一个自定义协议,用于处理你应用程序中的 PSPanGestureInteractionController 事件。

示例

Example

这里有一个在三个视图控制器之间简化的转换示例。

1. 第一个视图控制器 → 第二个视图控制器

在这种情况下,我们可以看到这两个视图控制器之间的自定义交互式“推送”操作。以下是这次操作中涉及的各个部分

  1. FirstViewToSecondViewPushAnimator 实现了动画效果。
  2. FirstViewInteractionControllerDelegate 处理了滑动手势。
  3. PSPanGestureInteractionController 使用 FirstViewInteractionControllerDelegate 进行实例化,如以下链接所示 这里
  4. PSNavigationControllerDelegate 使用交互控制器和动画器进行实例化,如以下链接所示 这里
  5. PSNavigationControllerDelegate 被分配为导航控制器的 delegate,如下所示 这里
2. 第二个视图控制器 → 第三个视图控制器

在这种情况下,我们可以看到这两个视图控制器之间的模态“呈现”和“消失”操作。

  1. ThirdViewControllerPresentAnimatorThirdViewControllerDismissAnimator 实现了动画效果。
  2. PSViewControllerTransitioningDelegate使用动画器进行实例化,如以下链接所示 这里
  3. PSViewControllerTransitioningDelegate 遵循动画器被分配为模态视图控制器的 transitioningDelegate,如以下链接所示 这里

安装

许可