`
374016526
  • 浏览: 98678 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

两个动画效果

阅读更多

// 心跳动画

+ (void)heartbeatView:(UIView *)view duration:(CGFloat)fDuration

{

    [[selfclass] heartbeatView:view duration:fDuration maxSize:1.4fdurationPerBeat:0.5f];

}

+ (void)heartbeatView:(UIView *)view duration:(CGFloat)fDuration maxSize:(CGFloat)fMaxSize durationPerBeat:(CGFloat)fDurationPerBeat

{

    if (view && (fDurationPerBeat > 0.1f))

    {

        CAKeyframeAnimation *animation = [CAKeyframeAnimationanimationWithKeyPath:@"transform"];

        

        CATransform3D scale1 = CATransform3DMakeScale(0.8, 0.8, 1);

        CATransform3D scale2 = CATransform3DMakeScale(fMaxSize, fMaxSize, 1);

        CATransform3D scale3 = CATransform3DMakeScale(fMaxSize - 0.3f, fMaxSize - 0.3f, 1);

        CATransform3D scale4 = CATransform3DMakeScale(1.0, 1.0, 1);

        

        NSArray *frameValues = [NSArray arrayWithObjects:

                                [NSValue valueWithCATransform3D:scale1],

                                [NSValue valueWithCATransform3D:scale2],

                                [NSValue valueWithCATransform3D:scale3],

                                [NSValue valueWithCATransform3D:scale4],

                                nil];

        

        [animation setValues:frameValues];

        

        NSArray *frameTimes = [NSArray arrayWithObjects:

                               [NSNumber numberWithFloat:0.05],

                               [NSNumber numberWithFloat:0.2],

                               [NSNumber numberWithFloat:0.6],

                               [NSNumber numberWithFloat:1.0],

                               nil];

        [animation setKeyTimes:frameTimes];

        

        animation.fillMode = kCAFillModeForwards;

        animation.duration = fDurationPerBeat;

        animation.repeatCount = fDuration/fDurationPerBeat;

        

        [view.layer addAnimation:animation forKey:@"heartbeatView"];

    }else{}

 

}

 

 

 

 

 

// 视图抖动动画

+ (void)shakeView:(UIView *)view duration:(CGFloat)fDuration

{

    if (view && (fDuration >= 0.1f))

    {

        CABasicAnimation* shake = [CABasicAnimationanimationWithKeyPath:@"transform.rotation.z"];

        //设置抖动幅度

        shake.fromValue = [NSNumber numberWithFloat:-0.3];

        shake.toValue = [NSNumber numberWithFloat:+0.3];

        shake.duration = 0.1f;

        shake.repeatCount = fDuration/4/0.1f;

        shake.autoreverses = YES;

        [view.layer addAnimation:shake forKey:@"shakeView"];

    }else{}

 

}

 

分享到:
评论

相关推荐

    安卓动画效果相关-爱心飞舞动画效果冒泡效果.rar

    这两个动画效果都是为了让应用更具吸引力,增强用户交互体验而设计的。 首先,我们来探讨“爱心飞舞”动画效果。在安卓应用中,这种动画通常用于表达浪漫、温馨或者庆祝的场景。开发者可能使用了`Animation`类或者`...

    两种动画效果

    总结起来,"两种动画效果"这个主题涵盖了GUI交互中的平滑过渡动画和游戏开发中的粒子系统。学习和理解这些动画效果的实现原理,不仅可以提升应用的视觉吸引力,也是提高开发者技能的关键步骤。通过研究源码和使用...

    两球旋转动画效果

    对于视图动画,可以创建两个RotateAnimation,并将它们放入AnimationSet,以同时播放这两个动画。确保设置适当的填充行为(fillBefore和fillAfter),以便动画结束后保持最终状态。 4. **自定义动画类**: 如果...

    购物车类的抛物线动画(支持上抛或者下抛) && 阻尼动画(弹球动画).zip

    以下是对这两个动画效果的详细解释。 **抛物线动画** 抛物线动画是基于物理学中的抛体运动规律实现的。在2D空间中,一个物体被抛出后,会沿着一个抛物线轨迹移动,这涉及到重力加速度、初速度、初始角度等因素。在...

    winform选项卡控件 切换动画效果 项目源码 含demo

    7. **集成与使用**:在自己的WinForm项目中使用这个动画效果,需要将源码导入,理解并调用相关的API或方法,设置所需的动画类型和参数,然后在选项卡切换事件中触发动画。 8. **性能优化**:尽管动画效果能提升用户...

    CSS3轮船与飞机交通工具动画特效

    在提供的文件中,`index.html`和`index2.html`很可能是展示这两个动画效果的HTML页面。它们可能包含了`<style>`标签或者链接到外部的`css`文件,这个`css`文件包含了上述提到的`@keyframes`定义以及应用动画的元素...

    WPF图片动画效果切换

    为了实现动画效果,我们通常会用到两个Image控件,一个用于当前显示的图片,另一个用于预加载下一张图片。 动画效果切换的核心在于利用WPF的Storyboard和DoubleAnimation类。Storyboard是一个时间线,用于管理一...

    超炫button按钮动画效果

    - 当两个Activity之间有相同的视图元素时,可以使用共享元素过渡,实现平滑的效果。 - 需要在布局中定义`transitionName`属性,并在代码中指定共享元素。 4. **动画组合**: - 使用`ActivityOptions`配合`...

    实现控件显隐的动画

    这两个动画效果可以给用户带来更加生动和交互感更强的界面体验。 首先,我们来详细探讨控件的下移动画。这种动画通常用于菜单、通知或对话框的显示和隐藏,给人一种从屏幕顶部滑落或升起的感觉。在Android中,我们...

    android动画效果集锦

    在style.xml中定义一个名为`PopupAnimation`的样式,将这两个动画分别设置为`android:windowEnterAnimation`和`android:windowExitAnimation`。当PopupWindow显示和消失时,系统会自动应用这些动画。 例如,popup_...

    安卓动画效果相关-AnimCheckBox按钮点击动画效果.rar

    4. 动画可能包含两个阶段:缩放或平移的过渡效果,以及颜色变化,这些可以通过设置不同的关键帧(Keyframes)来实现。 5. 动画结束后,根据业务逻辑恢复CheckBox的原始状态。 由于压缩包中包含了"JavaApk源码说明....

    Android动画效果大全

    `AnimatorSet`用于管理多个动画,可以按照特定顺序或同时播放它们。 界面切换效果是Android应用中常见的动画场景,例如Activity间的过渡、Fragment的滑入滑出等。可以使用`overridePendingTransition()`方法在启动...

    安卓动画效果相关-Android技术实现使图像实现动画效果.rar

    视图过渡动画(ViewTransition)是Android Lollipop(API level 21)引入的新特性,用于在两个布局之间创建流畅的过渡效果。`Transition`类提供了多种内置过渡类型,如淡入淡出、滑动等。同时,可以自定义`...

    Qt Quick实现一个炫酷的折叠动画效果

    本文将深入探讨如何使用Qt Quick实现一个炫酷的折叠动画效果,这通常用于增强应用的用户体验和视觉吸引力。 首先,理解Qt Quick的基础是至关重要的。Qt Quick是一种声明式语言,它允许开发者通过定义UI元素的属性和...

    安卓动画效果相关-FABRevealLayout实现两个页面切换效果.zip

    3. **布局切换**:`FABRevealLayout`不仅负责动画效果,还管理着两个或多个页面的切换。它可能会包含一个或多个子视图,这些子视图在动画过程中会显示或隐藏。通过精确控制动画时间和顺序,可以实现平滑的页面过渡。...

    Android 电视关闭的动画效果

    在描述中提到的1.png和2.png可能是动画过程中两个关键帧的截图,用于展示动画效果的起始和结束状态。而TV_OFF可能是一个资源文件,可能是XML布局文件,用于定义动画的初始视图状态,或者是一个Java类,包含动画的...

    安卓动画效果相关-android中提供了一个类似水波纹的动画效果.rar

    标题提到的"安卓动画效果相关-android中提供了一个类似水波纹的动画效果.rar"是一个压缩包,包含了一个实现水波纹动画效果的示例项目。虽然描述中提到无法验证所有内容,但我们可以深入探讨一下Android系统如何实现...

    Qt动画效果实现

    更复杂的动画效果可以通过组合多个动画或使用QSequentialAnimationGroup和QParallelAnimationGroup来实现。QSequentialAnimationGroup按顺序执行各个动画,而QParallelAnimationGroup则同时运行它们。这样,你可以...

    Android 动画效果集合

    在Android开发中,动画效果是提升用户体验的关键因素之一。Android 动画效果集合是一个资源库,专注于自定义动画,帮助开发者快速学习并实现...这个动画效果集合正是为了帮助开发者快速掌握和应用这些技术而设计的。

    WPF动画效果合集,包含多个项目

    在本文中,我们将深入探讨WPF(Windows Presentation Foundation)中的动画效果,这是一个强大的图形子系统,为Windows应用程序提供了丰富的用户体验。标题"WPF动画效果合集,包含多个项目"表明这是一个集合,包含了...

Global site tag (gtag.js) - Google Analytics