###前言git
这段时间写了一个自定义转场动画集,只须要一行代码就能够实现各类各样的自定义转场动画。这是源码地址
WXSTransition
你们能够去下载来看看。github
###介绍
transition animation asset
一个界面转场动画集。bash
在平时开发中,有时候须要一些转场动画给界面调整增添一些活力,而实现这些动画相对比较繁琐。
为了让实现转场更简单,我写了这个界面转场动画集。
调整界面时,只要一行代码就能够实现这里面的动画。
包括系统提供的动画在内,目前有大概50种动画。动画
###使用方法url
#####一、首先导入头文件#import "UINavigationController+WXSTransition.h"
spa
#####二、一行代码就能够调用
Push:3d
[self.navigationController wxs_pushViewController:(UIViewController *) animationType:(WXSTransitionAnimationType)];复制代码
Present:代理
[self wxs_presentViewController:(UIViewController *) animationType:(WXSTransitionAnimationType) completion:^{
}];复制代码
说明:
WXSTransitionAnimationType是转场动画类型,经过这个枚举选择你想要的转场动画。code
#####三、支持属性修改cdn
[self wxs_presentViewController:<#(UIViewController *)#> makeTransition:^(WXSTransitionManager *transition) {
transition.animationType = WXSTransitionAnimationTypePointSpreadPresent;
transition.animationTime = 1;
}];复制代码
能够经过transition设置动画时间、类型等属性,目前可修改属性很少,之后版本会增长
#####四、特殊调用
像point Spread 、ViewMoveToNextVC这样的动画,须要个起始view,只要将目标控制器的startView指向这个view就能够了,代码以下;
DetailViewController *vc = [[DetailViewController alloc] init];
CollectionViewCell *cell = (CollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath];
vc.startView = cell.imgView;
[self.navigationController wxs_pushViewController:vc makeTransition:^(WXSTransitionManager *transition) {
transition.animationType = WXSTransitionAnimationTypeViewMoveToNextVC;
transition.animationTime = 1;
}];复制代码
###动画效果图
#####自定义动画
######系统动画
iOS自身其实有许多不错的转场动画,在这个转场动画集里也进行了封装,使用方法跟自定义转场动画同样。
Push:
[self.navigationController wxs_pushViewController:<#(UIViewController *)#> animationType:<#(WXSTransitionAnimationType)#>];复制代码
Present:
[self wxs_presentViewController:<#(UIViewController *)#> animationType:<#(WXSTransitionAnimationType)#> completion:<#^(void)completion#>]复制代码
###后语
如今是第一个版本,本来准备支持交互手势,可是一些动画使用了交互手势存在许多问题,因此这个版本去除了,准备在之后的版本中增长一些一下功能:
一、添加一些酷炫的转场动画
二、支持交互手势
三、提供自定义动画接口,让使用者想实现本身的转场动画时,不用实现各类代理等繁琐工做,专一于fromVC,和toVC的动画逻辑。
最后再提供一下gittub 连接。
WXSTransition欢迎你们来下载使用,记得给个star。若是有什么想法,能够进行交流,让咱们一块儿进步。