最近项目有个做图片浏览器的需求,点击图片后要有类似系统相册的动画。
效果图:
实现:
1.首先创建一个transition对象,继承自NSObject,遵守UIViewControllerAnimatedTransitioning协议。
根据我们的需求,需要提供4个接口,传入动画所需的图片、动画开始和结束的frame、区分present和dismiss的type。
@property (nonatomic,assign) TransitionAnimationStyle style;
@property (nonatomic, strong) UIImage *transitionImage;
@property (nonatomic, assign) CGRect transitionBeforeImgFrame;
@property (nonatomic, assign) CGRect transitionAfterImgFrame;
2.实现UIViewControllerAnimatedTransitioning协议方法
//此方法返回动画持续时间
- (NSTimeInterval)transitionDuration:(nullable id <UIViewControllerContextTransitioning>)transitionContext;
//在此方法中写动画效果
- (void)animateTransition:(id <UIViewControllerContextTransitioning>)tran