给控件也添加类似转场的动画效果

话不多说 , 先上地址:

简单,快速给控件添加类似转场的动画效果 - github

iOS中自定义转场动画一直是一个比较酷炫的功能 , 使用得当能使app的用户体验和整体逼格都提高一个档次.

那么 , 到底如何自定义一个酷炫的转场效果呢?

咳咳!今天我这边要说的并不是自定义转场 , 如果有对这方面不是很熟悉的同学可以移步

iOS自定义转场动画 -  

也欢迎到这里

自定义转场动画 - github 

下载我的demo~

既然这样 , 那如果给控件也添加上类似转场的动画效果, 会变成什么样子呢?

嗯 , 大概会是这个效果 : 


效果演示

反正我是觉得这个效果也很不错~

那要怎么实现这个效果呢 , 我的思路是这样的:

1. 首先所有view的子类都应该能拥有这种效果 , 那我们可以使用view的category来实现 .


创建category

2. 要做到转场效果 , 我们需要转场前和转场后的两个view来组合动画(当然有些动画效果可能不需要转场后的view , 但是这里为了通用性 , 接口是留出两个view的. 同样的apple给我们开发者预留的自定义转场接口也有fromViewController 和 toViewController , 当然还有一个容器view , 我这里就直接使用view本身作为containerView了.)

给控件也添加类似转场的动画效果_第1张图片
外部调用的方法

3. 要获取这两个view , 我的做法是 , 在某个view调用这个方法时 , 先对这个view截图作为转场前的view , 然后再执行对控件属性的更改 , 更改完后再对这个view截图作为转场后的view.

给控件也添加类似转场的动画效果_第2张图片
内部实现

4. 获得这两个view之后 , 通过block将这两个view返回出去 , 外部拿到view之后就可以根据需求自定义动画效果了.

通过block返回

5. 外部使用


使用默认动画

给控件也添加类似转场的动画效果_第3张图片
自定义动画

注意: 自定义动画时 , 动画结束后一定要把originView 和 newView移除掉!

你可能感兴趣的:(给控件也添加类似转场的动画效果)