`

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

阅读更多

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

 

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

 

分享到:
评论
3 楼 sunrainning 2012-01-06  
谢谢分享!!
2 楼 lake991 2011-10-14  
1 楼 slave4j 2011-01-18  
经典,好东西,哈哈

相关推荐

    iphone用Animation实现动画效果

    在本教程中,我们将深入探讨如何使用`UIView`的`animation`方法来创建简单的上、中、下移动动画效果。这涉及到iOS开发中的基本动画原理,以及如何通过代码控制视图的行为。 首先,我们要理解`UIView`动画的基本概念...

    iphone动画效果汇总

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

    防iphone动画效果

    标题提到的“防iPhone动画效果”可能是指Android开发者尝试实现与iOS设备上相似的流畅、精致的动画,以增强应用的吸引力和用户互动性。Android系统提供了多种动画机制,使得开发者能够创建出丰富多彩的视觉效果。...

    iphone动画效果

    本文将深入探讨iPhone和iPad中的动画效果,包括它们的工作原理、实现方式以及如何在开发过程中有效地利用这些动画。 一、动画基础 动画效果在iOS中主要通过Core Animation框架来实现,这是Apple为开发者提供的一个...

    IOS动画——文字书写效果

    然而,对于文字书写这种复杂的动画效果,我们需要利用`CAShapeLayer`和`UIBezierPath`来绘制和动画化文字路径。 `CAShapeLayer`是Core Animation中的一个层类型,它可以绘制复杂的形状和路径。`UIBezierPath`是...

    iphone 动画实现

    通过修改图层的属性,如位置、透明度或变换,可以实现各种动画效果。 2. UIImageView动画: UIImageView类通常用于显示静态图片,但也可以用来播放图像序列,从而实现简单的动画效果。通过设置UIImageView的`...

    iphone上电子书翻页效果的实现

    在iOS中,我们可以使用Core Animation框架来实现这种复杂的动画效果。Core Animation是苹果提供的一个强大的2D图形和动画引擎,它允许开发者创建流畅、高性能的动画效果。 在实现翻页效果前,我们需要准备电子书的...

    iphone QQ列表的收缩展开,带动画效果

    总之,实现iPhone QQ列表的收缩展开及动画效果,需要结合UITableView的特性、数据模型的设计、用户交互事件的处理以及动画API的运用。通过以上步骤,我们可以创建出具有吸引力和用户体验良好的列表交互。

    纯CSS3实现3D效果iPhone6手机外观动画特效源码.zip

    "纯CSS3实现3D效果iPhone6手机外观动画特效源码" 这个标题揭示了我们即将探讨的主题是利用CSS3技术来创建一个3D视觉效果的iPhone6模型,这个模型能够展现出动态的动画效果。CSS3是层叠样式表的第三版,它引入了许多...

    iphone 简单动画示例源码

    "iPhone简单动画示例源码"是一个很好的学习资源,它展示了如何在iOS应用中实现基础的动画效果。在这个项目中,开发者通过点击按钮触发一个动画,使得按钮在屏幕上漂浮,营造出动态的视觉效果。 首先,我们来探讨...

    动画效果demo

    这个"动画效果demo"是一个示例项目,专门展示了如何在iPhone平台上实现各种类型的动画。通过学习和分析这个demo,开发者可以深入理解并掌握UIKit动画机制,从而在自己的应用中创造出更加生动、流畅的交互体验。 一...

    android仿iphone的滑轮效果

    在Android平台上,模仿iPhone的滑轮效果是一种常见的需求,特别是在创建具有类似iOS用户体验的应用时。滑轮效果,也称为滚轮选择器或者Picker View,通常用于让用户在一系列预设选项中进行选择,如时间、日期或者一...

    iPhone之手势切换图片示例程序

    4. **动画效果**: 为了提供平滑的用户体验,切换图片时通常会添加过渡动画。可以使用UIView的`animate(withDuration:animations:)`方法,或者更高级的CATransition动画。 5. **防止误触**: 为了确保手势只在...

    IOS应用源码之【框架】iPhone完美模拟MAC的Dock托盘 动画效果.rar

    这份"【框架】iPhone完美模拟MAC的Dock托盘 动画效果.rar"源码正是为此目的而创建的,旨在为iOS用户带来更接近Mac OS的交互体验。 首先,我们需要理解Dock托盘的概念。在Mac OS中,Dock是位于屏幕底部的一个功能...

    模仿iphone 实现 控件抖动

    ### 模仿iPhone实现控件抖动 在移动应用开发中,为了提升用户体验与界面的交互性,开发者经常需要模拟一些特殊效果,如按钮...此外,还可以进一步探索其他类型的动画效果,如缩放、平移等,以丰富应用的视觉表现力。

    iphone范例代码,跳动动画特效

    在"07d - CoreAnim-Jump"这个压缩包中,可能包含了实现上述动画效果的源代码文件,包括`.m`和`.h`文件,以及对应的资源文件。通过阅读和学习这些代码,开发者可以了解到如何在自己的iOS应用中实现类似跳动的动画效果...

    android 仿IPHONE桌面图标抖动,各种其他抖动效果

    在Android平台上实现类似iPhone的桌面图标抖动效果,可以为用户带来更为丰富的交互体验,尤其在设计删除或移动应用图标等操作时。本教程将详细讲解如何创建这种仿iPhone的抖动动画,以及如何将其应用于Android应用的...

    Android应用源码仿Iphone抖动效果Shake Icon-IT计算机-毕业设计.zip

    在这个项目中,我们很可能会看到属性动画的运用,因为它是Android 3.0(API级别11)及更高版本中引入的,能够对对象的属性进行连续的改变,非常适合实现复杂的动态效果,如物体的移动、旋转等。 1. **属性动画**: ...

    纯CSS3模拟iPhone X背景切换动画

    但核心的动画效果完全由CSS3实现,这使得页面加载更快,性能更优,同时减少了对JavaScript的依赖。 在提供的文件"texiao8430_1560929567"中,很可能包含了实现这一效果的具体CSS代码示例,通过分析这些代码,你可以...

    android仿iPhone滚轮效果

    在Android平台上实现类似iPhone的滚轮效果,是一种增强用户交互体验的设计手法,尤其适用于数字选择、日期选择等场景。滚轮通常被称为Picker View,它在iOS系统中是UIPickerView,而在Android中则可以通过自定义View...

Global site tag (gtag.js) - Google Analytics