`

【转】CATransition的动画效果类型及实现方法

    博客分类:
  • iOS
iOS 
阅读更多
实现iphone漂亮的动画效果主要有两种方法,一种是UIView层面的,一种是使用CATransition进行更低层次的控制,

第一种是UIView,UIView方式可能在低层也是使用CATransition进行了封装,它只能用于一些简单的、常用的效果展现,这里写一个常用的示例代码,供大家参考。

[UIView beginAnimations:@"Curl"context:nil];//动画开始

[UIView setAnimationDuration:0.75];
[UIView setAnimationDelegate:self];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:myview cache:YES];
[myview removeFromSuperview];
[UIView commitAnimations];


第二种方式相对复杂一些,但如果更好的进行控制,还是使用这种方法吧,基本使用方法可以看一下如下例子:

CATransition *animation = [CATransition animation];

[animation setDuration:1.25f];
[animation setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseIn]];
[animation setType:kCATransitionReveal];
[animation setSubtype: kCATransitionFromBottom];
[self.view.layer addAnimation:animation forKey:@"Reveal"];

这里使用了setType与setSubtype组合,这使用个比较保险,因为他的参数就是官方API里定义的,他们的参数说明可以参考如下:
setType:可以返回四种类型:
kCATransitionFade淡出
kCATransitionMoveIn覆盖原图
kCATransitionPush推出
kCATransitionReveal底部显出来
setSubtype:也可以有四种类型:
kCATransitionFromRight;
kCATransitionFromLeft(默认值)
kCATransitionFromTop;
kCATransitionFromBottom
还有一种设置动画类型的方法,不用setSubtype,只用setType
[animation setType:@"suckEffect"];
这里的suckEffect就是效果名称,可以用的效果主要有:
pageCurl   向上翻一页
pageUnCurl 向下翻一页
rippleEffect 滴水效果
suckEffect 收缩效果,如一块布被抽走
cube 立方体效果
oglFlip 上下翻转效果
最后再给出一种常用代码供大家参考。
// Curl the image up or down
CATransition *animation = [CATransition animation];
[animation setDuration:0.35];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];
if (!curled){
//animation.type = @"mapCurl";
animation.type = @"pageCurl";
animation.fillMode = kCAFillModeForwards;
animation.endProgress = 0.99;
} else {
//animation.type = @"mapUnCurl";
animation.type = @"pageUnCurl";
animation.fillMode = kCAFillModeBackwards;
animation.startProgress = 0.01;
}
[animation setRemovedOnCompletion:NO];
[view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
[view addAnimation:animation forKey"pageCurlAnimation"];
// Disable user interaction where necessary
if (!curled) {
 
} else {
 
}
curled = !curled;


转自http://blog.csdn.net/thomasqiujs/article/details/6628353
分享到:
评论

相关推荐

    CATransition动画

    CATransition动画是iOS开发中Core Animation框架的一部分,用于在UIView或CALayer之间创建过渡效果。这种动画效果主要用于视图控制器的切换或者在界面元素出现、消失时添加更丰富的视觉体验。在iOS应用中,用户界面...

    iOS基于CATransition实现翻页、旋转等动画效果

    iOS 基于 CATransition 实现翻页、...本文介绍了使用 CATransition 实现翻页、旋转等动画效果的方法,并提供了多种动画效果的实现代码。使用 CATransition 可以轻松实现多种动画效果,并且可以根据需要自定义动画参数。

    swift-利用CATransition-给push控制器添加丰富的动画效果

    本篇文章将深入探讨如何利用`CATransition`为控制器的push操作添加丰富的动画效果,从而提升用户体验。 首先,`CATransition`是Core Animation的一个关键组件,它用于在视图控制器之间或在UIView层次结构中添加过渡...

    swift CATransition页面跳转动画

    在Xcode 6.3及其更高版本中,使用Swift语言进行编程时,我们可以借助Core Animation框架中的CATransition类来实现这些动画效果。 首先,我们需要了解什么是CATransition。CATransition是Core Animation框架的一部分...

    利用Swift实现各类的CATransition动画详解

    通过这种方式,你可以轻松地在Swift项目中实现各种各样的CATransition动画效果,为用户提供更丰富的交互体验。同时,也可以根据实际需求自定义转场动画,通过修改CATransition的其他属性,如方向、持续时间、速度...

    CATransition uinavigation跳转方法

    在iOS开发中,页面间的跳转是用户交互的重要部分,CATransition是Core Animation框架中用于实现动画效果的一个类,它可以让我们在导航控制器(UINavigationController)之间的页面切换时添加丰富的过渡效果,提升用户...

    核心动画之转场动画

    如果预设的转场动画不能满足需求,开发者还可以通过创建自定义的CALayer子类来实现更复杂的动画效果。通过重写`- (void)displayLayer:(CALayer *)layer`方法,可以直接控制每一帧的显示,实现高度定制化的转场。 4...

    自定义转场动画效果

    在Android中,`Transition`类提供了多种内置的转场效果,通过`setDuration()`、`setInterpolator()`等方法定制动画,或者自定义`Animator`类实现更复杂的动画效果。 3. **关联动画与视图控制器**:在iOS中,如果要...

    iOS转场动画

    在XWTrasitionPractice-master项目中,开发者通常会创建多个示例,展示不同类型的转场动画效果,包括但不限于: 1. 模态转场:模态视图的出现和消失可以有多种动画方式。 2. 导航控制器转场:在导航控制器中,可以...

    动画组和转场动画Demo

    "动画组和转场动画Demo"是一个专注于展示如何在iOS应用中实现复杂动画效果的项目。它深入探讨了`Core Animation`框架,这是iOS平台上用于创建2D图形和动画的核心技术。 **动画组(Animation Groups)** 在iOS中,...

    页面跳转动画效果

    这些方法虽然简单实用,但默认的动画效果较为单一。为了创建更丰富的过渡效果,我们可以利用Core Animation框架中的`CATransition`类。 `CATransition`是用来定义视图层间转换动画的类,它提供了多种预设的动画类型...

    Xamarin.Mac上实现页面的转场动画

    Core Animation是Apple提供的一组低级别的图形和动画工具,它可以控制 CALayer 对象,从而实现丰富的2D和3D动画效果。 实现自定义转场动画的第一步是创建一个继承自`NSStoryboardSegue`的子类。`NSStoryboardSegue`...

    iOS页面间的转场动画

    在实际开发中,为了实现更复杂的转场,开发者可能还会用到`CATransition`,这是一个基于Core Animation的动画类型,它可以为视图控制器提供更多的过渡样式,如淡入淡出、溶解、推动等。不过,`CATransition`通常不...

    swift-UIWindow转场动画及案例分析

    `CATransition`提供了更多参数,如类型(如`.push`、`.reveal`)、子类型(如`.fromTop`、`.fromBottom`)、速度等,可以实现更丰富的视觉效果。 在实际应用中,比如在消息中心或者导航栏切换场景,自定义的...

    ios 封面动画效果

    这段代码首先创建了一个UIImageView并添加到视图上,然后创建了一个`CATransition`对象,设置了动画类型、子类型、持续时间和缓动函数,最后将动画添加到UIImageView的图层上,实现了封面从右侧推入屏幕的动画效果。...

    转场动画iOS

    而自定义转场则允许开发者根据需求创建个性化的动画效果。 要实现视图颜色的随机变化,我们可以利用Swift语言的Random Number Generator特性。首先,在`ViewController`中定义一个方法,用于生成随机颜色: ```...

    ios-CATransition.zip

    这种动画效果可以极大地提升用户界面的视觉吸引力和用户体验。在本主题中,我们将深入探讨`CATransition`的基本概念、用法以及如何在实际项目中应用。 `CATransition`是一个`CAAnimation`子类,它不仅提供了平滑的...

    iOS实现翻页效果动画实例代码

    CATransition动画实现了翻页效果动画的实现,包括动画类型、_subtype_和执行的view。动画类型可以是CurlDown、CurlUp、FlipFromLeft、FlipFromRight等。 三、手势控制的翻页效果实现 手势控制的翻页效果实现了翻页...

    iphone动画效果汇总

    "iPhone动画效果汇总"是一个示例代码集合,它展示了在iPhone平台上可以实现的各种动画效果。这些效果包括但不限于翻转、淡入淡出以及波纹效果,这些都是iOS用户界面动态交互的重要组成部分。 1. **翻转动画**: ...

    IOS动画教程

    除了上述的动画类型和方法,还有其他属性可以用来更精细地调整动画效果: - **动画曲线**:通过`[UIView setAnimationCurve:]`方法设置动画的速度曲线,常见的有`UIViewAnimationCurveEaseInOut`(先加速后减速)、...

Global site tag (gtag.js) - Google Analytics