纯代码:设置imageView帧动画

@interface ViewController ()

{

UIImageView *_imgView;

NSMutableArray<UIImage *> *_imageArr;

}

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

_imgView = [[UIImageView alloc] initWithFrame:CGRectMake(50, 300, 300, 200)];

_imgView.image = [UIImage imageNamed:@"1.jpg"];

[self.view addSubview:_imgView];

// 1.1 实例化可变数组用来 加载所有的图片

_imageArr = [NSMutableArray array];

for (int i = 0; i<20; i++) {

// 获取图片的名称

NSString *imageName = [NSString stringWithFormat:@"%d", i+1];

// 创建UIImage对象

UIImage *image = [UIImage imageNamed:imageName];

// 加入数组

[_imageArr addObject:image];

}

// 开始按钮

UIButton *imgViewButtonStart = [UIButton buttonWithType:UIButtonTypeRoundedRect];

[imgViewButtonStart setFrame:CGRectMake(20, 200, 200, 50)];

[imgViewButtonStart setTitle:@"开始动画" forState:UIControlStateNormal];

[imgViewButtonStart setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];

[imgViewButtonStart addTarget:self action:@selector(stratAction) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:imgViewButtonStart];

// 暂停按钮

UIButton *imgViewButtonStop = [UIButton buttonWithType:UIButtonTypeRoundedRect];

[imgViewButtonStop setFrame:CGRectMake(200, 200, 200, 50)];

[imgViewButtonStop setTitle:@"停止动画" forState:UIControlStateNormal];

[imgViewButtonStop setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];

[imgViewButtonStop addTarget:self action:@selector(stopAction) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:imgViewButtonStop];

}

#pragma mark - 开始动画

- (void)stratAction {

// 设置动画图片

_imgView.animationImages = _imageArr;

// 设置动画的播放次数

_imgView.animationRepeatCount = 0;

// 设置播放时长

// 1秒30帧, 一张图片的时间 = 1/30 = 0.03333 20 * 0.0333

_imgView.animationDuration = 1.0;

// 开始动画

[_imgView startAnimating];

}

#pragma mark - 结束动画

- (void)stopAction {

[_imgView stopAnimating];

}

@end

UIImageView有关的帧动画的更多相关文章

  1. [Xcode 实际操作]六、媒体与动画-(13)使用UIImageView制作帧动画

    目录:[Swift]Xcode实际操作 本文将演示如何将导入的序列图片,转换为帧动画. 在项目导航区打开资源文件夹[Assets.xcassets] [+]->[Import]->选择图片 ...

  2. 【iOS系列】-UIImageView帧动画相关属性介绍

    UIImageView帧动画相关属性介绍 1:相关属性: //An array of UIImage objects to use for an animation.存放UIImage对象,会按顺序显 ...

  3. UIImageView帧动画相关属性和方法

    @property(nonatomic,copy) NSArray *animationImages; 需要播放的序列帧图片数组(里面都是UIImage对象,会按顺序显示里面的图片) @propert ...

  4. iOS开发之 -- 帧动画的使用

    在项目的开发过程中,我们经常会遇到使用动画的时候,比如我们在请求接口直接开始一个动画,请求结束后结束动画,下面我就给大家展示一个很方便的帧动画的用法: 代码如下: .h #import <Fou ...

  5. ios9--UIImageView的帧动画

    // // ViewController.m // 05-UIImageView的帧动画 // #import "ViewController.h" @interface View ...

  6. 深入理解CSS3 Animation 帧动画

    CSS3我在5年之前就有用了,包括公司项目都一直在很前沿的技术. 最近在写慕课网的七夕主题,用了大量的CSS3动画,但是真的沉淀下来仔细的去深入CSS3动画的各个属性发现还是很深的,这里就写下关于帧动 ...

  7. Android动画效果之Frame Animation(逐帧动画)

    前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame ...

  8. android 帧动画,补间动画,属性动画的简单总结

      帧动画——FrameAnimation 将一系列图片有序播放,形成动画的效果.其本质是一个Drawable,是一系列图片的集合,本身可以当做一个图片一样使用 在Drawable文件夹下,创建ani ...

  9. android 帧动画

    首先在res/drawable/name1.xml/定义一组图片集合: <?xml version="1.0" encoding="utf-8"?> ...

随机推荐

  1. 升级php7一些需要注意的地方

    1.升级过程涉及代码的主要处理的就是几个扩展(mysql.mssql .mcrypt.ereg)使用到的一些废弃函数(call_user_method.call_user_method_array等) ...

  2. c++ 指定长度容器元素的拷贝移动(copy_backward)

    #include <iostream> // cout #include <algorithm> // copy_backward #include <vector> ...

  3. [STL][C++]STACK QUEUE

    参考:http://www.cnblogs.com/mfryf/archive/2012/08/09/2629992.html stackstack 模板类的定义在<stack>头文件中. ...

  4. 简说Spring事务

    一.事务定义: 事务指逻辑上的一组操作,这组操作要么全部成功,要么全部失败. 二.事务的特性: 1. 原子性 - 指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. 2. 一致性 ...

  5. 更改Windows Update设置时,为何会提示“某些设置由你的系统管理员管理”?

    亲测有效 及时进行更新是保证系统正常运行的一个有效措施.可为什么当我们进入“控制面板->Windows Update”手动修改 Windows Update 的设置时,系统却弹出提示“某些设置由 ...

  6. python--HTTPClient接口测试踩坑

    1.今天下午做接口测试的时候遇到一个奇怪的问题:原因不明 requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisc ...

  7. Confluence 6 权限设置

    备注:当 '外部用户管理' 权限没有被选择的时候,你仅可以指派 LDAP 用户到本地用户组中. 只读(Read Only) 从你目录服务器上获得 LDAP 用户,用户组只能通过你的目录服务器进行修改. ...

  8. C++ vector 实现二维数组

    在STL中Vector这一容器,无论是在封装程度还是内存管理等方面都由于传统C++中的数组.本文主要是关于使用Vector初始化.遍历方面的内容.其他二维的思想也是类似的. 这里简单叙述一下C++ 构 ...

  9. java回收算法

    两个最基本的java回收算法:复制算法和标记清理算法                 复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B.此为新生代最常用的算法              ...

  10. iOS UI-(多)视图控制器的生命周期、加载方法和模态视图方法以及屌丝方法

    #import "ViewController.h" #import "SecondViewController.h" @interface ViewContr ...