我们可以通过CATransiton来自定义一些漂亮的转场动画, CATransition继承自CAAnimation, 所以用法跟CAAnimation差不多 先直接上一个代码: #import "ViewController.h...UIControlEventTouchUpInside]; [self.view addSubview:self.btn]; } - (void)changeImage { //创建专场动画 CATransition...*animation = [CATransition animation]; animation.duration = 1; animation.fillMode
这里只提供一张图片: 从上图可以看出,CAAnimation是所有动画类的父类,但是我们不能直接使用这个父类,而应该使用它的子类——CABasicAnimation、CAKeyframeAnimation、CATransition
TestViewController *vc = [[TestViewController alloc] init]; vc.view.backgroundColor = [UIColor redColor]; CATransition...* transition = [CATransition animation]; transition.duration = 0.4f; transition.type = kCATransitionMoveIn...forKey:kCATransition]; [self.navigationController pushViewController:vc animated:NO]; } - (void)pop { CATransition...* transition = [CATransition animation]; transition.duration = 0.4f; transition.type = kCATransitionReveal
注:其中有些效果调用了CATransition的Private API, 仅供娱乐。...今天主要用到的动画类是CALayer下的CATransition至于各种动画类中如何继承的在这也不做赘述,网上的资料是一抓一大把。好废话少说切入今天的正题。...一.封装动画方法 1.用CATransition实现动画的封装方法如下,每句代码是何意思,请看注释之。...1 #pragma CATransition动画实现 2 - (void) transitionWithType:(NSString *) type WithSubtype:(NSString *)...subtype ForView : (UIView *) view 3 { 4 //创建CATransition对象 5 CATransition *animation = [CATransition
本篇博客中的动画是动画中的一种--转场动画(CATransition)。 1.为导航控制器添加动画。...看代码: CATransition * transition = [CATransition animation]; /* pageCurl 向上翻页 pageUnCurl...setAnimationDidStopSelector:@selector(animationFinished:)]; [UIView commitAnimations]; 下面的代码动画效果会更丰富一些: CATransition...*animation = [CATransition animation]; animation.delegate = self; animation.duration = kDuration
{ self.index =0; } } } //转场动画 CATransition...*trans = [[CATransition alloc]init]; //转场动画的类型 trans.type =@"push"; //判断是不是向左滑 if(self.ISLeft
从上图中可以看到,从CAAnimation中继承出三个子类,分别是用于创建属性动画的CAPropertyAnimation,创建转场动画的CATransition和创建组合动画的CAAnimationGroup...property CGFloat initialVelocity; //获取动画停下来需要的时间 @property(readonly) CFTimeInterval settlingDuration; 6.CATransition...转场动画 CATransition和CAPropertyAnimation的不同之处在于当layer层出现时,会产生动画效果,而并不是属性改变时,属性如下: /* 设置动画类型 //淡入...我们还可以使用一些私有的参数,如下: pageCurl 翻页 rippleEffect 滴水效果 suckEffect 收缩效果,如一块布被抽走 cube 立方体效果 oglFlip 上下翻转效果 例如: CATransition... * ani = [CATransition animation]; ani.type = @"pageCurl"; ani.subtype = kCATransitionFromRight
CATransition 主要用于转场动画从一个场景以动画的形式过渡到另一个场景,比如Nav的默认Push视图的效果就是通过CATransition的kCATransitionPush类型来实现。...综上,核心动画类中可以直接使用的类有: CABasicAnimation CAKeyframeAnimation CATransition CAAnimationGroup CASpringAnimation...anim.duration = 1; //添加动画 [self.iconV.layer addAnimation:anim forKey:nil]; } 5、 CATransition...转场动画 iOS中实现转场动画有两种方式,一种是通过我们今天学的CATransition转场动画进行,还有一种则是通过UIView的动画进行。...//创建动画 CATransition *anim = [CATransition animation]; //设置转场类型 anim.type = @"cube"; /
但是须知:CATransition只针对图层,不针对视图。图层是Core Animation与每个UIView产生联系的工作层面。...使用Core Animation时,应该将CATransition应用到视图的默认图层([myView layer])而不是视图本身。...使用CATransition类实现动画,只需要建立一个Core Animation对象,设置它的参数,然后把这个带参数的过渡添加到图层即可。...使用要引入QuartzCore.framework代码 #import 示例代码: CATransition *transition = [CATransition animation]; transition.duration...另外,CATransition私有的动画类型有(立方体、吸收、翻转、波纹、翻页、反翻页、镜头开、镜头关)。
Core Animation Core Animation是一组非常强大的动画处理API,它的子类主要有4个:CABasicAnimation、CAKeyframeAnimation、CATransition...group.animations = @[animationScale,animationRota]; [self.groupButton.layer addAnimation:group forKey:nil]; CATransition...示例: MyViewController *myVC = [[MyViewController alloc]init]; CATransition *animation = [CATransition
;于是就有了过渡的概念; 过渡动画使用CATransition来实现,它同样是CAAnimation的子类;它并不像属性动画那样在平滑的两个值之间做动画,而是影响到整个图层的变化。...CATransition.gif 注意:和属性动画不同,对指定图层一次只能使用那一次CATransition,因此无论对动画的键设置为什么值,过渡动画都会对它的键设置为”transition”,也就是常量...KCATransition. 4.隐式过渡 CATransition可以对图层任何变化平滑过渡,这使得它成为那些不好做动画的属性图层行为的理想之选。...如果我们知道如何对图层截图,我们就可以使用属性动画来自定义CATransition动画了。...但是使用CATransition,或者使用私有的截屏方式就没有这个限制了。
为了创建一个过渡动画,我们将使用CATransition,同样是另一个CAAnimation的子类,和别的子类不同,CATransition有一个type和subtype来标识变换效果。...苹果当然意识到了这点,并且当设置了CALayer的content属性的时候,CATransition的确是默认的行为。...这里用到了一个小诡计,要确保CATransition添加到的图层在过渡动画发生时不会在树状结构中被移除,否则CATransition将会和图层一起被移除。...如果我们知道如何对图层截图,我们就可以使用属性动画来代替CATransition或者是UIKit的过渡方法来实现动画。 事实证明,对图层做截图还是很简单的。...但是用CATransition,或者用私有的截屏方式就没有这个限制了。
动画可以作为 CAtransition 对象创建出来。 图层转场增强了现有的 CATransition 类,为其提供了一种方法,能用Quartz Core 的动画引擎来添加动画。...当图层被动画使,一个 CATransition 或CAAnimation 对象会被附加在图层上。然后图层会调用Quartz Core,分支出一个新线程,负责动画的全部图形处理工作。...用下面的例子代码,可以创建一个转场: CATransition* animation = [[CATransition alloc]init]; animation.duration =1.0
实现的主要代码如下: CATransition*transition = [CATransitionanimation]; transition.duration=1.0f; transition.timingFunction
下面到了我们该实现3D的转场动画了的时候了 #pragma mark 转场动画 -(void)transitionAnimation:(BOOL)isNext{ //1.创建转场动画对象 CATransition...*transition=[[CATransition alloc]init]; //2.设置动画类型,注意对于苹果官方没公开的动画类型只能使用字符串,并没有对应的常量定义 transition.type
CGRectMake(50, 100, 250, 100)].CGPath; // 把子动画添加到组动画中 anim.animations = @[anim1, anim2, anim3]; ---- 六、CATransition...UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果 属性: type:设置动画过渡的类型 枚举: kCATransitionFade...创建一个转场动画对象 CATransition *anim = [[CATransition alloc] init]; // 设置转场动画的类型 anim.type = @"suckEffect
显示动画基类CAAnimation,能用的动画类只有CABasicAnimation、CAKeyframeAnimation、CATransition、CAAnimationGroup。...CAAnimation:动画对象的基类 CAAnimationGroup:组合动画 CATransition:转场动画 CAPropertyAnimation:属性动画 常用的动画CABasicAnimation
animateWithDuration:0.3 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{ CATransition...*transition = [CATransition animation]; transition.timingFunction = [CAMediaTimingFunction functionWithName
4.CATransition(2016-04-22补充) CATransition一般来做转场动画。先上gif动画效果 ?...transition动画.gif //修改视图的背景色 _someView.backgroundColor = [UIColor greenColor]; CATransition...*animation = [CATransition animation]; animation.duration = 0.5; /* 这里可设置的参数有:kCATransitionFade
领取专属 10元无门槛券
手把手带您无忧上云