`
beike
  • 浏览: 361978 次
社区版块
存档分类
最新评论

iOS的动画效果类型及实现方法

 
阅读更多

iOS的动画效果类型及实现方法  

 

实现iOS漂亮的动画效果主要有两种方法,

   一种是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里定义的,他们的参数说明可以参考如下:

 

[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;

分享到:
评论

相关推荐

    IOS动画——文字书写效果

    首先,我们需要理解iOS动画的基础。iOS中的动画主要基于Core Animation框架,这是一个强大的2D图形渲染系统,它可以创建出流畅、高性能的视觉效果。在Xcode项目中,我们通常会使用`UIView`类或其子类的`...

    ios各种动画效果

    本文将对iOS中的各种动画效果进行详细的总结,并探讨实现这些效果的不同途径。 首先,我们来看iOS中最基础的动画类型:Core Animation。Core Animation是Apple提供的一套强大的2D图形渲染和动画框架,它允许开发者...

    ios 封面动画效果

    通过`UIView.animate(withDuration:animations:)`方法,我们可以快速地实现一些基础的动画效果,如淡入淡出、位移等。 实现封面动画的具体步骤可能包括: 1. 准备封面图片,并将其设置到UIImageView中。 2. 创建...

    实现IOS动画侧边栏效果框架

    本框架“实现IOS动画侧边栏效果框架”旨在为开发者提供一个类似QQ和微信的侧边栏功能,同时增加了吸引用户的动画效果。下面我们将深入探讨这个框架的核心特点、实现原理以及如何在项目中进行集成。 首先,该框架的...

    iOS展示视图移动的简单动画效果

    "iOS展示视图移动的简单动画效果"这一主题聚焦于如何在iOS应用中实现视图的动态伸缩和移动,为用户提供更加直观且吸引人的交互体验。 首先,我们来探讨一下iOS中的动画基础。iOS的动画主要是通过Core Animation框架...

    iOS 文字动画(每个字逐个显示)

    在提供的压缩包文件中,`testOfNoteCoreText`可能是一个关于Core Text的示例代码,而`TestOfNotePic`可能是包含图片资源的文件,这些图片可能用于辅助理解动画效果。通过研究这些代码和资源,你可以更深入地了解这两...

    iOS动画-animation1

    通过改变图层的属性,如位置、透明度或大小,可以实现各种动画效果。 2. **UIView动画**: UIView类提供了一组简便的方法来创建常见的动画效果。这些动画通常涉及到视图的位置、大小、透明度等属性的变化。例如,...

    ios 各种动画效果集成

    总结起来,iOS动画效果的集成涵盖了从简单的视图动画到复杂的自定义动画。开发者可以根据实际需求选择适合的方法,为应用添加动态效果,提升用户的视觉体验。同时,合理运用动画还能有效引导用户操作,使交互过程...

    IOS核心动画-左右摆动Demo

    "IOS核心动画-左右摆动Demo"是一个展示如何使用Core Animation框架创建一个图片左右摆动效果的示例。Core Animation是Apple为iOS和macOS平台提供的一个低级动画系统,它允许开发者以高性能的方式创建丰富的视觉效果...

    iOS实现循迹动画

    这个项目“iOS实现循迹动画”旨在创建一个圆点,使其能够沿着预先定义的曲线路径动态移动,模拟车辆沿路行驶的效果。为了实现这一功能,我们可以使用Objective-C语言,并结合UIKit框架中的关键类和方法。下面将详细...

    IOS过渡动画

    同时,UIViewController类也提供了内置的转场API,用于控制器之间的切换和自定义动画效果。 1. **UIViewController的transitioningDelegate**:当我们在两个UIViewController之间进行切换时,可以通过设置`...

    swift-iOS动画队列-仿映客刷礼物效果

    2. **动画序列**:为了实现连续的动画效果,我们需要将这些单个动画组织成一个队列。这可以通过在前一个动画的完成回调中启动下一个动画来实现,或者使用`CATransaction`来管理一组动画。 ```swift UIView....

    ios动画效果

    通过设置动画类型、持续时间以及动画的类型和子类型,开发者可以在视图层上添加复杂的动画效果。例如,要实现一个从右边覆盖进入的动画效果,可以设置CATransaction的type为kCATransitionMoveIn,并设置subtype为...

    iOS动画测试

    首先,iOS动画主要基于Core Animation框架,这是一个强大的2D图形渲染引擎,能够实现平滑、高效的动画效果。在iOS中,有两种主要类型的动画:视图动画(UIView animation)和层动画(CALayer animation)。视图动画...

    iOS动画源码

    "iOS动画源码"这个主题深入探讨了iOS系统中的动画实现技术,包括Core Animation、UIKit Dynamics以及自定义动画等。这里我们将详细解析这些动画技术,并提供相关的源码实践。 一、Core Animation Core Animation是...

    ios-MTPortalTransition - 开门撕裂动画.zip

    3. **实现协议方法**:在`animationControllerForPresentedController:`和`animationControllerForDismissedController:`方法中,返回`MTPortalTransition`实例,指定动画类型。 4. **初始化动画**:根据需求配置...

    iphone用Animation实现动画效果

    在iOS开发中,动画效果是用户体验的关键组成部分,可以极大地提升应用的视觉吸引力和交互性。在本教程中,我们将深入探讨如何使用`UIView`的`animation`方法来创建简单的上、中、下移动动画效果。这涉及到iOS开发中...

    ios-贝塞尔曲线实现渐变动画效果.zip

    本示例"ios-贝塞尔曲线实现渐变动画效果.zip"聚焦于如何通过贝塞尔曲线(Bezier Curve)来创建出具有平滑过渡特性的渐变描点动画。贝塞尔曲线是一种在计算机图形学中广泛使用的数学工具,它能够帮助我们精确地控制...

    iOS 加入购物车动画

    此方法可以改变视图的属性,如frame、transform等,以实现平滑的动画效果。 2. **CAKeyframeAnimation**:如果需要更复杂的路径动画或时间函数,可以使用Core Animation的`CAKeyframeAnimation`。它可以定义多个...

    各种IOS的特效动画

    - **利用轻量级动画API**:如`UIView`的`animateWithDuration`方法,适合快速实现简单的动画效果。 - **考虑性能和电池消耗**:过于频繁或复杂的动画可能会影响设备性能和电池寿命,因此需适度使用,并优化动画代码...

Global site tag (gtag.js) - Google Analytics