MaterialMotionPopTransitions 1.0.0

MaterialMotionPopTransitions 1.0.0

测试已测试
语言语言 SwiftSwift
许可 Apache 2
发布时间最后发布2017年2月
SwiftSwift 版本3.0
SPM支持 SPM

Jeff Verkoeyen 维护。



 
依赖项
pop~> 1.0
MaterialMotionTransitions~> 1.0
MaterialMotionPop~> 2.0
 

  • Material Motion 作者

POP Transitions for Material Motion (Swift)

支持的语言

  • Swift 3
  • Objective-C

功能

TransitionSpring 可以轻松描述双向基于弹簧的过渡。

以下是一个简单的“滑入”过渡导演的示例

class SlideInTransitionDirector: NSObject, TransitionDirector {
  let transition: Transition
  required init(transition: Transition) {
    self.transition = transition
  }

  func setUp() {
    let midY = Double(transition.foreViewController.view.layer.position.y)
    let height = Double(transition.foreViewController.view.bounds.height)
    let slide = TransitionSpring("position.y",
                                 transition: transition,
                                 back: NSNumber(value: midY + height),
                                 fore: NSNumber(value: midY))
    transition.runtime.addPlan(slide, to: transition.foreViewController.view.layer)
  }
}

在这个导演中,我们定义了一个用于处理前进和后退过渡的单个 TransitionSpring。在前进时,发射一个目标为 midY 的 SpringTo。在后退时,发射一个目标为 midY + height 的 SpringTo

安装

用法

导入框架

@import MaterialMotionPopTransitions;

现在您将可以使用所有 API。

示例应用/单元测试

您可以通过运行以下命令来访问存储库中的 Catalog 应用程序的本地区域副本:

git clone https://github.com/material-motion/pop-transitions-swift.git
cd pop-transitions-swift
pod install
open MaterialMotionPopTransitions.xcworkspace

指南

  1. 如何使用 TransitionSpring 计划来动画化 CALayer 属性

如何使用 TransitionSpring 计划来动画化 CALayer 属性

代码片段

在 Objective-C 中

MDMTransitionSpring *spring = [[MDMTransitionSpring alloc] initWithProperty:"<#key path#>"
                                                                 transition:transition
                                                                       back:<#back value#>
                                                                       fore:<#fore value#>];
[scheduler addPlan:spring to:<#Object#>];

在 Swift 中

let spring = TransitionSpring("<#key path#>",
                              transition: transition,
                              back: <#back value#>,
                              fore: <#fore value#>)
transition.scheduler.addPlan(spring, to: <#Layer#>)

贡献

欢迎贡献!

查看我们的 即将达成的里程碑

了解更多关于 我们的团队我们的社区 和我们的 贡献者必备

许可

根据 Apache 2.0 许可证授权。有关详细信息,请参阅 LICENSE。