UIView的动画

//

//  ViewController.m

//  UI-NO.6

//

//  Created by Bruce on 15/7/20.

//  Copyright (c) 2015年 Bruce. All rights reserved.

//

#import "ViewController.h"

@interface ViewController ()

{

UIImageView *animationView;

NSMutableArray *imageList;

}

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

self.view.backgroundColor = [UIColor orangeColor];

[self loadData];

UIImage *image = [UIImage imageNamed:@"niao2-1(被拖移).tiff"];

animationView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, image.size.width, image.size.height)];

//    设置UIImageView播放的动态图数组

animationView.animationImages = imageList;

//    播放一组动画 需要的时间

animationView.animationDuration = 1;

animationView.animationRepeatCount = -1;

[self.view addSubview:animationView];

//    让动画开始

//    [animationView startAnimating];

//    让动画结束

//    [animationView stopAnimating];

//    判断动画是否正在播放

//    animationView.isAnimating

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

button.frame = CGRectMake(10, 20, 50, 35);

[button setTitle:@"播放" forState:UIControlStateNormal];

[button setTitle:@"暂停" forState:UIControlStateSelected];

[button setTitleColor:[UIColor brownColor] forState:UIControlStateNormal];

[button addTarget:self action:@selector(play:) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:button];

}

- (void)play:(UIButton *)sender

{

if (sender.selected != YES) {

//        播放动画  重置按钮的title

sender.selected = YES;

[animationView startAnimating];

[self moveAnimation];

}else{

sender.selected = NO;

[animationView stopAnimating];

}

}

- (void)loadData

{

//    当调试的时候  打印数组的值 是nil或者null 意味着 咱们没有初始化数组对象  或者 有被赋值为nil或者null(数组对象就会被销毁) 的情况

imageList = [NSMutableArray array];

for (int i=1; i<=6; i++) {

NSString *imageName = [NSString stringWithFormat:@"niao2-%d(被拖移).tiff",i];

[imageList addObject:[UIImage imageNamed:imageName]];

}

}

- (void)moveAnimation

{

UIImage *image = [UIImage imageNamed:@"niao2-1(被拖移).tiff"];

//    Duration 动画持续的时间

//    [UIView animateWithDuration:5 animations:^{

//        animationView.frame = CGRectMake(200, 400, image.size.width*2, image.size.height*2);

//    }];

[UIView animateWithDuration:5 animations:^{

animationView.frame = CGRectMake(200, 400, image.size.width*2, image.size.height*2);

} completion:^(BOOL finished) {

[UIView animateWithDuration:5 animations:^{

animationView.frame = CGRectMake(0, 0, image.size.width, image.size.height);

}];

}];

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

时间: 2024-10-10 14:40:35

UIView的动画的相关文章

IOS开发-UIView之动画效果的实现方法(合集)

http://www.cnblogs.com/GarveyCalvin/p/4193963.html 前言:在开发APP中,我们会经常使用到动画效果.使用动画可以让我们的APP更酷更炫,最重要的是优化用户体验,但取决于动画的质量.像QQ.微信.新浪微博等APP,动画效果就很好了,至少我很喜欢它们的动画,让我使用起来感觉很顺畅,心情很开朗.本文会介绍UIView效果的实现方法,非核心动画. 一.使用UIView类实现动画 基本写法,代码必须放在Begin和Commit之间: [UIView beg

iOS开发——动画编程Swift篇&amp;(一)UIView基本动画

UIView基本动画 1 // MARK: - UIView动画 ------------------------------------- 2 3 // MARK: - UIView动画-淡入 4 @IBAction func simpleAnimationFadeIn() 5 { 6 UIView.beginAnimations(nil, context: nil) 7 UIView.setAnimationDuration(2.0)//设置动画时间 8 testImageView.alph

ios uiview封装动画(摘录)

iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码放在[UIView beginAnimations:nil context:nil]和[UIView commitAnimations]之间 常见方法解析: + (void)setAnimat

用layer添加UIView的动画

项目有时会遇到用UIView 添加动画的情况,这里我觉得在layer上添加动画比较好,因为可以详细地设定动画属性,方便理解 下面是一个旋转动画: -(void)roundBtnAction:(id)sender {            UIButton * button = (UIButton *)sender;        //Animation自旋转(layer动画):    CABasicAnimation* rotationAnimation;        rotationAnim

IOS UIVIEW layer动画 总结

转发自:http://www.aichengxu.com/article/%CF%B5%CD%B3%D3%C5%BB%AF/16306_12.html IOS UIVIEW layer动画 总结,有需要的朋友可以参考下. 这是我搜索的所有动画效果,感谢前辈在网上分享. //翻页效果动画 左边 [UIView beginAnimations:@"animation" context:nil]; [UIView setAnimationDuration:1.0f]; [UIView set

iOS开发UI篇—核心动画(UIView封装动画)(转摘)

iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码放在[UIViewbeginAnimations:nil context:nil]和[UIView commitAnimations]之间 常见方法解析: + (void)setAnimati

如何停止和扭转UIView的动画

本文转载至  http://codego.net/576089/ 我有它收缩时碰到切换按钮UIView的动画跳和它扩展恢复到原来的大小当再次接触到按钮.密封式前大灯一切都工作得很好.问题是,动画师注意到-例如3秒钟.在此期间,我还是希望能够进行交互的接口.当再次接触到跳跃键,而动画仍在进行中的动画应该就停在哪里是和反向. 在苹果Q&正如我已经找到了方法,所有的动画 但我没有看到从这里扭转动画(并省略原动画的其余部分)的方式.我该怎么办呢? - (IBAction)toggleMeter:(id)

UI控件之UIView与动画

UIView:用来展示用户的界面,响应用户的操作(继承自UIResponder) UIView的作用:绘图.动画.处理事件 UIView可以包含和管理子视图,并且决定子视图的位置大小 获取所有的子视图(数组) NSArray *subViews= self.window.subviews; 将子视图放在某个子视图上面 [self.window insertSubview:greenView aboveSubview:yellowView]; 将子视图放在某个子视图下面 [self.window

iOS开发UI篇—核心动画(UIView封装动画)

一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成,但仍要在希望执行动画时通知视图,为此需要将改变属性的代码放在[UIView beginAnimations:nil context:nil]和[UIView commitAnimations]之间 常见方法解析: + (void)setAnimationDelegate:(id)delegate