WXSTransition 1.2.1

WXSTransition 1.2.1

测试已测试
言语语言 Obj-CObjective C
许可证 MIT
发布最新发布2017 年 3 月

alanwangmodify 维护。



  • alanwangmodify

介绍(介绍)

这是一个动画转场资源。我们可以给 iOS 应用中的视图控制器之间添加一些转场动画。现在,通过这个动画资源,即使只有一行代码也可以做到这一点。它包括大约 50 种动画。现在,它支持四种用于弹出视图控制器的手势。您可以在 WXSTransitionProperty 中查看属性。

这是一个界面转场动画组。目前仅支持纯代码。在平时开发中,有时需要一些转场动画来为界面增添一些活力。而实现这些动画相对繁琐。为了使转场更简单,我写了这个界面转场动画集。跳转界面时,只需一行代码即可实现这里的动画。包括系统提供的动画在内,目前大约有 50 种动画。

现在已支持手势返回,有四种手势可供选择,可以在 WXSTransitionProperty 中查看相关属性。

使用方法(使用方法)

1、首先导入头文件

#import "UINavigationController+WXSTransition.h"

2、一行代码就可以调用

推送

 [self.navigationController wxs_pushViewController:(UIViewController *) animationType:(WXSTransitionAnimationType)];

显示

[self wxs_presentViewController:(UIViewController *) animationType:(WXSTransitionAnimationType) completion:^{

}];

说明:WXSTransitionAnimationType 是转场动画类型,通过该枚举可以选出您想要的转场动画。

3、支持属性修改(自定义属性)
[self wxs_presentViewController:<#(UIViewController *)#> makeTransition:^(WXSTransitionManager *transition) {
transition.animationType =  WXSTransitionAnimationTypePointSpreadPresent;
transition.animationTime = 1;
}];

可以通过 transition 设置动画时间、返回手势、动画类型等属性,可以在 WXSTransitionProperty 中查看相关可修改属性。

像 point Spread、ViewMoveToNextVC 这样的动画,需要一个起始视图,只需将目标控制器的 startView 指向该视图即可,代码如下; view_move_next.gif

[self.navigationController wxs_pushViewController:vc makeTransition:^(WXSTransitionProperty *transition) {
transition.animationType = WXSTransitionAnimationTypeViewMoveToNextVC;
transition.animationTime = 1;
transition.startView  = cell.imgView;
transition.targetView = vc.imageView;
}];

动画效果图

自定义动画

boom
boom.gif

brick
brick_close_H.gif brick_open_V.gif

cover
cover.gif

spread
point_spread.gif spread_from_right.gif gestureSpread.gif

view move
view_move_next.gif normalViewMove.gif

frgment
frgmentFromRight.gif fragmentFromTop.gif

insideThenPush
insideThenPush.gif

系统动画

iOS 实际上有很多不错的转场动画,这个转场动画集也对它们进行了封装,使用方法与自定义转场动画相同。

推送

[self.navigationController wxs_pushViewController:<#(UIViewController *)#> animationType:<#(WXSTransitionAnimationType)#>];

显示

[self wxs_presentViewController:<#(UIViewController *)#> animationType:<#(WXSTransitionAnimationType)#> completion:<#^(void)completion#>]

sys_oglFlip.gif sys_pageCurl.gif

关于 tabbar 动画影响效果的问题

如果 tabbar 的系统动画影响了效果,可以使用以下方法取消动画。去掉 self.hidesBottomBarWhenPushed = YES 手动控制 tabbar 的隐藏显示时机:推送之前隐藏 tabBar self.tabBarController.tabBar.hidden = YES; pop 后在 viewDidApear 里面显示 self.tabBarController.tabBar.hidden = NO;