iOS 自定义翻转动画 (Custom Transitioning)

原创 2017年01月03日 18:55:27

demo 链接

自定义翻转动画包括两部分:
1.UIViewControllerAnimatedTransitioning,动画协议
2.UIViewControllerInteractiveTransitioning,交互协议
动画协议,实现controller 之间 跳转的呈现形式,一般跳转和返回回是两个不同的动画,所以一般两个动画会同时存在。

- (NSTimeInterval)transitionDuration:(nullable id <UIViewControllerContextTransitioning>)transitionContext; // 动画需要执行的时间
- (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext; // 自定义的动画需要写在这里,使用completeTransition来结束跳转

交互协议,controller之间翻转动画的整个过程可以通过这个协议来自定义。

// 这三个函数决定了执行过程状态,
- (void)updateInteractiveTransition:(CGFloat)percentComplete; // 开始翻转
- (void)cancelInteractiveTransition; // 取消翻转
- (void)finishInteractiveTransition; // 翻转成功
通过UIViewControllerContextTransitioning上下文协议,使用viewControllerForKey来获取FormVC,ToVC,FromView,ToView。来对这些内容进行操作。
可以使用snapshotViewAfterScreenUpdates,来获取一个需要改变的view。


使用:
1.模态跳转,
vc.modalPresentationStyle = UIModalPresentationCustom; // 设置成自定义
vc.transitioningDelegate = self; //签代理
然后实现对应的代理方法既可以,包括跳转,返回,跳转的交互,返回的交互。

2.push
原理和模态是一样的,只不过跳转在当前controller里面实现,
返回在目标controller里面实现。

具体代码可以看:

demo链接
push并没有实现,push首先签UINavigationControllerDelegate,然后在对应页面实现对应的代理方法即可,翻转动画和翻转过程可以和模态跳转是相同的。

版权声明:本文为博主原创文章,未经博主允许不得转载。

IOS 自定义界面切换动画-Custom Segue

实现方式就是继承UIStoryboardSegue类,然后重写Perform方法,然后在Storyboard上将类设置为自定义的类...

Custom Animation——自定义动画

This example shows how to use postcompose and vectorContext to animate features. Here we choose ...

Android Material Design-Defining Custom Animations(自定义动画)-(六)

转载请注明出处:http://blog.csdn.net/bbld_/article/details/40633327   用户跟你的app进行交互时,material design中的动画给予用户动...
  • BBLD_
  • BBLD_
  • 2014年10月31日 00:00
  • 7747

iPhone/iOS中保存自定义对象(Custom Object/Custom Class)的数组(NSMutableArray/NSArray)到NSUserDefaults

【问题】 在折腾: 给Your Second iOS App:BirdWatching添加支持程序退出后,用户数据仍然保留 的过程中,遇到一个问题,需要将一个自定义对象的数组,保存到...
  • yuanya
  • yuanya
  • 2013年12月25日 17:34
  • 2702

iOS学习之自定义弹出UIPickerView或UIDatePicker(动画效果)

前面iOS学习之UIPickerView控件的简单使用 用到的UIPickerView弹出来是通过 textField.inputView = selectPicker;   textField.in...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS 自定义翻转动画 (Custom Transitioning)
举报原因:
原因补充:

(最多只允许输入30个字)