【干货】一行代码实现自定义转场动画

前言

这段时间写了一个自定义转场动画集,只需要一行代码就可以实现各种各样的自定义转场动画。这是源码地址:WXSTransition

大家可以去下载来看看,喜欢的话麻烦给个Star。

介绍

transition animation asset

一个界面转场动画集。

在平时开发中,有时候需要一些转场动画给界面调整增添一些活力,而实现这些动画相对比较繁琐。

为了让实现转场更简单,我写了这个界面转场动画集。

调整界面时,只要一行代码就可以实现这里面的动画。

包括系统提供的动画在内,目前有大概50种动画。

使用方法

1、首先导入头文件

1
#import "UINavigationController+WXSTransition.h"

2、一行代码就可以调用

Push:

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

Present:

1
2
[self wxs_presentViewController:(UIViewController *) animationType:(WXSTransitionAnimationType) completion:^{
}];

说明:

WXSTransitionAnimationType是转场动画类型,通过这个枚举选择你想要的转场动画。

3、支持属性修改

1
2
3
4
[self wxs_presentViewController: makeTransition:^(WXSTransitionManager *transition) {
     transition.animationType =  WXSTransitionAnimationTypePointSpreadPresent;
     transition.animationTime = 1;
}];

可以通过transition设置动画时间、类型等属性,目前可修改属性不多,以后版本会增加

4、特殊调用

像point Spread 、ViewMoveToNextVC这样的动画,需要个起始view,只要将目标控制器的startView指向这个view就可以了,代码如下;

1819750-f1844a487d21b5ae.gif

1
2
3
4
5
6
7
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;
}];

动画效果图

自定义动画

1819750-002a3e7ba717a4a2.gif

1819750-1233dff7dcc1f781.gif

1819750-ac6f189e6ab77103.gif

1819750-b0d659fc4ac51cce.gif

1819750-9ae58fa6a6a944e8.gif

1819750-0b3716c415b1440d.gif

1819750-3886af1868ca5484.gif

1819750-f1844a487d21b5ae (1).gif

系统动画

iOS自身其实有许多不错的转场动画,在这个转场动画集里也进行了封装,使用方法跟自定义转场动画一样。

Push:

1
[self.navigationController wxs_pushViewController: animationType:];

Present:

1
[self wxs_presentViewController: animationType: completion:]

1819750-b92bb33b6a7d6696.gif

1819750-a83173c2a6c7695e.gif

后语

现在是第一个版本,原本准备支持交互手势,但是一些动画使用了交互手势存在许多问题,所以这个版本去除了,准备在以后的版本中增加一些一下功能:

1、添加一些酷炫的转场动画

2、支持交互手势

3、提供自定义动画接口,让使用者想实现自己的转场动画时,不用实现各种代理等繁琐工作,专注于fromVC,和toVC的动画逻辑。

最后再提供一下gittub地址:WXSTransition


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值