测试已测试 | ✓ |
Lang语言 | Obj-CObjective C |
许可证 | Apache 2 |
发布最后发布 | 2017年2月 |
由 Jeff Verkoeyen 维护。
这个库使得可以使用 Material Motion 运行时创建 UIViewController 过渡。
导入框架
@import MaterialMotionTransitions;
现在您将能够访问所有 API。
通过运行以下命令访问应用的本地副本以访问 Catalog 应用程序
git clone https://github.com/material-motion/material-motion-transitions-objc.git
cd material-motion-transitions-objc
pod install
open MaterialMotionTransitions.xcworkspace
此库的核心方面包括以下内容
符合 TransitionDirector 的对象可以描述应发生在 UIViewController 过渡期间的计划。
TransitionController 允许您决定哪个 TransitionDirector 应该控制特定的过渡。
导演控制特定视图控制器的显示和消失。每次开始过渡时都会创建一个导演的实例,并在过渡完成后丢弃。
确保存储提供的 MDMTransition 对象。
代码片段
在 Objective-C 中
@interface <# DirectorName #>TransitionDirector : NSObject <MDMTransitionDirector>
@end
@interface <# DirectorName #>TransitionDirector ()
@property(nonatomic, strong) MDMTransition *transition;
@end
@implementation <# DirectorName #>TransitionDirector
- (instancetype)initWithTransition:(MDMTransition *)transition {
self = [super init];
if (self) {
_transition = transition;
}
return self;
}
- (void)setUp {
}
@end
在 Swift 中
class <# DirectorName #>TransitionDirector: NSObject, TransitionDirector {
let transition: Transition
required init(transition: Transition) {
self.transition = transition
}
func setUp() {
}
}
使用转换对象的运行时注册计划。
代码片段
在 Objective-C 中
- (void)setUp {
[self.transition.runtime addPlan:<#(nonnull NSObject<MDMPlan> *)#> to:<#(nonnull id)#>];
}
在 Swift 中
func setUp() {
transition.runtime.addPlan(<#T##plan: Plan##Plan#>, to: <#T##Any#>)
}
每个视图控制器都关联一个 mdm_transitionController
实例。在 directorClass
属性上设置 TransitionDirector 类类型。当你展示视图控制器时,会创建你的 TransitionDirector 类的实例,并且会调用其 setUp
方法。
代码片段
在 Objective-C 中
<#(nonnull UIViewController *)#>.mdm_transitionController.directorClass = [<# TransitionDirector #>TransitionDirector class];
[self presentViewController:<#(nonnull UIViewController *)#> animated:<#(BOOL)#> completion:<#^(void)completion#>];
在 Swift 中
<# UIViewController instance #>.mdm_transitionController.directorClass = <# TransitionDirector #>TransitionDirector.self
present(<#T##viewControllerToPresent: UIViewController##UIViewController#>, animated: <#T##Bool#>)
我们欢迎贡献!
查看我们的 即将到来的里程碑。
Apache 2.0 许可下发布。有关详细信息,请参阅 LICENSE 文件。