`
iaiai
  • 浏览: 2196846 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iOS7中UIView的animateKeyframesWithDuration方法讲解

 
阅读更多
在iOS7中,给UIView添加了一个方法用来直接使用关键帧动画而不用借助CoreAnimation来实现,那就是animateKeyframesWithDuration

以下是使用源码:
//
//  ViewController.m
//
//  Created by YouXianMing on 14/11/26.
//  Copyright (c) 2014年 YouXianMing. All rights reserved.
//

#import "ViewController.h"

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self runAnimateKeyframes];
}

- (void)runAnimateKeyframes {
    
    /**
     *  relativeDuration  动画在什么时候开始
     *  relativeStartTime 动画所持续的时间
     */
    
    [UIView animateKeyframesWithDuration:6.f
                                   delay:0.0
                                 options:UIViewKeyframeAnimationOptionCalculationModeLinear
                              animations:^{
                                  [UIView addKeyframeWithRelativeStartTime:0.0   // 相对于6秒所开始的时间(第0秒开始动画)
                                                          relativeDuration:1/3.0 // 相对于6秒动画的持续时间(动画持续2秒)
                                                                animations:^{
                                                                    self.view.backgroundColor = [UIColor redColor];
                                                                }];
                                  
                                  [UIView addKeyframeWithRelativeStartTime:1/3.0 // 相对于6秒所开始的时间(第2秒开始动画)
                                                          relativeDuration:1/3.0 // 相对于6秒动画的持续时间(动画持续2秒)
                                                                animations:^{
                                                                    self.view.backgroundColor = [UIColor yellowColor];
                                                                }];
                                  [UIView addKeyframeWithRelativeStartTime:2/3.0 // 相对于6秒所开始的时间(第4秒开始动画)
                                                          relativeDuration:1/3.0 // 相对于6秒动画的持续时间(动画持续2秒)
                                                                animations:^{
                                                                    self.view.backgroundColor = [UIColor greenColor];                                                                }];
                                  
                              }
                              completion:^(BOOL finished) {
                                  [self runAnimateKeyframes];
                              }];
}

@end


细节之处:
  • 大小: 307.6 KB
分享到:
评论

相关推荐

    ios中关于uiview

    在iOS开发中,`UIView`是构建用户界面的基础,几乎所有的可见元素都基于它。`UIView`不仅负责绘制和显示内容,还处理用户的交互事件。以下是对标题和描述中涉及的`UIView`知识点的详细解释: 1. **Bounds和Frame的...

    IOS时间选择器UIPickerView,ios8中UIView替代UIActionSheet

    UIActionSheet改为UIView核心代码为以下几个方法: - (void)showInView:(UIView *)view; // UIPicker显示 -(void)hidePickerView; // UIPicker隐藏 - (UIViewController *)viewController; // 通过UIView查找...

    iOS实现UIView渐变效果

    本文将深入探讨如何在iOS中实现UIView的渐变效果,并介绍一个已经封装好的解决方案,允许开发者轻松地在应用中添加渐变色。 首先,我们需要理解渐变色的基本概念。渐变色是指从一种颜色平滑过渡到另一种颜色的过程...

    iOS中UIView的翻页动画demo

    本示例“iOS中UIView的翻页动画demo”旨在演示如何为UIView实现逼真的翻页效果,让用户体验如同翻阅实体书页一样的平滑过渡。在实际应用中,这种动画效果通常用于电子书籍、杂志应用或任何需要模拟页面翻动的地方。 ...

    ios-UIView加手势方法拓展..zip

    在iOS开发中,手势交互是构建用户界面的重要组成部分,它使得用户可以通过触摸屏幕的各种方式来与应用程序进行互动。本教程将深入探讨如何使用扩展(Extension)和运行时(Runtime)技术,为UIView类添加手势识别...

    ios-UIView设置局部阴影,左右上下,左右底部阴影.zip

    首先,让我们了解在iOS中设置阴影的基本步骤。在UIView的属性中,有两个关键的属性用于控制阴影:`layer.shadowColor`和`layer.shadowOffset`。`shadowColor`决定了阴影的颜色,而`shadowOffset`则定义了阴影相对于...

    ios-为UIView添加未读消息红点.zip

    在iOS开发中,经常需要为应用的视图(UIView)添加未读消息提示,例如App图标右上角的红点。这个"ios-为UIView添加未读消息红点.zip"项目提供了一个解决方案,通过开源库Yeebadge实现。开发者Mr-yuwei在GitHub上分享...

    一个在iOS中检测UIView (UIView的曝光)印象事件的工具。SwiftUI支持.zip

    首先,`ImpressionKit`是一个框架,它提供了一种简单的方法来跟踪和记录用户在应用中查看特定UIView的时间。通过集成此工具,开发者可以了解哪些视图在屏幕上显示的时间最长,或者用户最常交互的部分,这对于优化...

    IOS入门-UIView-简单地七彩霓虹灯Demo

    霓虹灯效果通常涉及到颜色的渐变和闪烁,这在iOS中可以通过Core Animation框架来实现。我们可以创建一个CADisplayLink对象,它会在每帧刷新时调用指定的block,这样我们就可以在每一帧中改变UIView的背景色,从而...

    ios-UIView类别方法添加系统动画,只需一句话。.zip

    这个名为"ios-UIView类别方法添加系统动画,只需一句话。.zip"的资源提供了一个简单的方法来实现这一目标,通过扩展UIView类,开发者可以方便地使用一行代码调用各种系统内置的动画。 首先,我们要理解什么是类别...

    iOS UIView封装 【帧动画封装自定义HUD】

    iOS 中对UIView简单的封装,换个说法:运用帧动画封装了一个HUD,使用起来简单方便,只需要调用 [RKJAnimatingHUD RKJStarAnimatingForView:self];或者 [RKJAnimatingHUD RKJStopAnimatingForView:self];一个类方法...

    IOS 开发之UIView动画的实例详解

    IOS 开发中的UIView动画是指在IOS开发中使用UIView来实现的动画效果。UIView动画是一个非常重要的技术,在IOS开发中广泛应用于各种App的开发中。 在UIView动画中,最重要的就是使用beginAnimations:context:方法来...

    ios-基于UIView扩展的类目,用于设置上下左右圆角.zip

    基于UIView扩展的类目,用于设置上下左右圆角,可设置单边圆角,也可设置为圆形 github地址:https://github.com/LQQZYY/UIViewCornerDemo 喜欢的话就给颗星支持一下,感谢!

    ios-UIView分类,可直接修改frame的值.zip

    在iOS开发中,`UIView`是界面布局的基础组件,它代表了屏幕上的一个矩形区域。这个压缩包“ios-UIView分类,可直接修改frame的值.zip”提供了一个`UIView`的分类,允许开发者更方便地调整视图的位置和大小。这种功能...

    ios自定义类 UIView 代码生成简单的UITableViewCell

    在方法tableView:cellForRowAtIndexPath中手写又繁琐。就封装变化写了一个UIView类。 构思:首先由于文字介绍和显示内容的宽度固定,然后Cell的一行(Cell可以包括多行)高度就是文字介绍和显示内容所需要的高度...

    xamarin学习笔记B03(ios的UIView的了解)

    xamarin学习笔记B03(ios的UIView的了解)它是所有视图控件的父类。例如UIButton、UILabel、UIImageView等都最终是继承自UIView。它可以添加其它视图作为它的子视图。

    ios UIView或者UIViewController缩放动画效果

    总的来说,实现iOS中的UIView或UIViewController缩放动画涉及使用`UIView`的动画API,以及自定义动画过渡类以处理更复杂的场景。通过这些技术,开发者可以创造出丰富多样的视觉效果,提升应用的整体用户体验。

    ios 圆UICircularSlider UIView+Animation 几个简单的动画

    在iOS开发中,UICircularSlider是一种常见的UI控件,用于创建圆形的滑动选择器。这个组件可以为用户界面增添独特的视觉效果和交互体验。本文将深入探讨如何使用UICircularSlider,并结合UIView+Animation进行几个...

    uiview随手势旋转

    你需要在这些方法中处理旋转操作,可能包括更新UIView的transform属性来实现旋转效果。 5. **平滑动画**: 为了使旋转更流畅,通常会使用`UIView.animate(withDuration:animations:)`或`UIViewPropertyAnimator`来...

    ios-UIView添加弹簧效果.zip

    在iOS中,我们可以使用`UIView`的`animate(withDuration:delay:options:animations:completion:)`方法来创建动画,其中的`options`参数可以设置为`.curveEaseInOut`来获得类似弹簧的效果。不过,更高级和精确的控制...

Global site tag (gtag.js) - Google Analytics