预备知识:

1.页面切换:

从一个ViewController切换到另一个ViewController有下面几种方法:

(1)self.view addSubview:(加载的新页面);
     相应的 [self.view removeFromSuperview];可以回到起始页面
(2)self.view insertSubview:(加载的新页面) atIndex:n;
对n的解释:页面都是层次叠加的,n表示加载到那一层上面
(3) self presentModalViewController:(加载的新页面)  animated:

2.UI动画移动原理:

定义一个起始位置和一个终止位置,使用CGPoint对象来代表,然后定义一个动画,最后提交这个动画,使之在应用运行的状态下实现动画效果。

3.代码:

//

//  MoveViewController.h

//  ImageView

//

//  Created by zhang xujun on 13-9-9.

//  Copyright (c) 2013年 zhang xujun. All rights reserved.

//

#import <UIKit/UIKit.h>

@interface MoveViewController : UIViewController

@property (strong,nonatomic) IBOutletUIButton *returnSuperView;

@property (strong,nonatomic) IBOutletUIButton *moveImage;

@property (strong,nonatomic) IBOutletUIImageView *moveImageView;

-(IBAction)returnSuperViewButton:(id)sender;

-(IBAction)move:(id)sender;

@end


//
// MoveViewController.m
// ImageView
//
// Created by zhang xujun on 13-9-9.
// Copyright (c) 2013年 zhang xujun. All rights reserved.
// #import "MoveViewController.h" @interface MoveViewController () @end @implementation MoveViewController
@synthesize returnSuperView;
@synthesize moveImage;
@synthesize moveImageView;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) { }
return self;
} - (void)viewDidLoad
{
[super viewDidLoad];
moveImageView.frame = CGRectMake(10.0, 10.0, 50.0, 40.0);
[self.moveImageView setImage:[UIImage imageNamed:@"卡片燃烧1.png"]];
[self.view addSubview:moveImageView]; }
-(void)returnSuperViewButton:(id)sender{ [self.view removeFromSuperview];
}
-(void)move:(id)sender{ [UIImageView beginAnimations:nil context:NULL];
[UIImageView setAnimationDuration:2];
[UIImageView setAnimationBeginsFromCurrentState:YES];
moveImageView.frame = CGRectMake(60.0, 100.0, 200.0, 160.0);
[UIImageView commitAnimations]; }
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning]; } @end

效果:

参考:

http://blog.sina.com.cn/s/blog_6700ebf201016ios.html

http://www.cnblogs.com/xingchen/archive/2011/08/15/2139771.html

【IOS实例小计】图像移动--可扩展为动态实现图标变化的更多相关文章

  1. 【IOS实例小计】今日开贴,记录我的ios学习生涯,留下点滴,留下快乐,成荫后人。

    今天开贴来记录自己的ios学习过程,本人目前小白一个,由于对ios感兴趣,所以开始学习,原职java程序,呵呵,勿喷. 本次的[ios实例小计]主要参考一文http://blog.sina.com.c ...

  2. 【IOS实例小计】UIImageView

    预备知识: UIImage 是一个专门存储图片数据的对象,默认兼容的图片格式是 PNG,可以通过文件.Quartz image对象或 image Data数据得到一个图片对象. UIImage相关功能 ...

  3. 【IOS实例小计】打开google地图-web

    -(void)openMaps:(id)sender{ NSString *addressText = @"1 Queen st, Auckland,NZ"; addressTex ...

  4. spring-data-jpa查询语句的书写实例小计

    //查询语句List<AuctionLot> alots = auctionLotRepository.findAllByAuctionIdAndAucIdIsNotNullAndIsOf ...

  5. sql小计汇总 rollup用法实例分析

    这里介绍sql server2005里面的一个使用实例: ),city ),score int) GO 1. 只有一个汇总 select province as 省,sum(score) as 分数 ...

  6. 实现对数据进行分组小计并计算合计的实例 asp.net

    可以通过数据绑定来实现  通过union all 来实现数据库 SELECT * FROM v3_pay_list2 where ( (ought_date >= '2012-12-06') a ...

  7. iOS 事件处理机制与图像渲染过程(转)

    iOS 事件处理机制与图像渲染过程 iOS RunLoop都干了什么 iOS 为什么必须在主线程中操作UI 事件响应 CALayer CADisplayLink 和 NSTimer iOS 渲染过程 ...

  8. iOS 事件处理机制与图像渲染过程

    Peter在开发公众号功能时触发了一个bug,导致群发错误.对此我们深表歉意,并果断开除了Peter.以下交回给正文时间: iOS 事件处理机制与图像渲染过程 iOS RunLoop都干了什么 iOS ...

  9. 用SQL实现统计报表中的"小计"与"合计"的方法详解

    本篇文章是对使用SQL实现统计报表中的"小计"与"合计"的方法进行了详细的分析介绍,需要的朋友参考下   客户提出需求,针对某一列分组加上小计,合计汇总.网上找 ...

随机推荐

  1. 常见LINQ语句学习

    1.读取20条最新留言 public ActionResult Index() { var mostRecentEntries = (from entry in _db.Entries orderby ...

  2. 刘汝佳黑书 pku等oj题目

    原文地址:刘汝佳黑书 pku等oj题目[转]作者:小博博Mr 一.动态规划参考资料:刘汝佳<算法艺术与信息学竞赛><算法导论> 推荐题目:http://acm.pku.edu. ...

  3. c++ 静态成员遇到的坑总结

    新标签页http://74.55.154.136/ c++ 静态成员遇到的坑总结 - linuxfloat - 博客园 c++ 静态成员遇到的坑总结   1.对于类静态变量的初始化,用下面方法. // ...

  4. javascript 剔除数组中相同的值,合并数组中相同项

    var a = ["2013-01","2013-01","2013-02","2013-02","2013- ...

  5. HDU 472 Hamming Distance (随机数)

    Hamming Distance Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) To ...

  6. Android 系统api实现定位及使用百度提供的api来实现定位

    目前在国内使用定位的方法主要是 1. Android系统提供的 LocationManager locationManager = (LocationManager) getSystemService ...

  7. javascript实现快速排

    其基本思路应该是排成两部分单独记录,确定枢轴,实施枢轴到左侧值我们都小于枢轴值.枢轴向右大于枢轴值.这样子不断递归下去 function quicksort(arr,low,high){ var pi ...

  8. axure母版(模板)区域介绍

    axure的模板区域是非常重要的一个功能,网站的头部.尾部部分等很多页面同时用到的内容,都可以使用母版,因为在母版中只需要修改一次,就可以实现所有的页面更新,可以大大的加速原型的制作速度.需要重复理解 ...

  9. Unknown database 'DB_NAME'

    Cannot create PoolableConnectionFactory (Unknown database 'DB_NAME'): com.mysql.jdbc.exceptions.jdbc ...

  10. Ubuntu下安装Android SDK(图文教程)

    刚接触Ubuntu,对于我来说现在最迫切的就是需要把Android环境搭起来 之前我的博文中已经详细地写了JDK,Eclipse,ADT的安装..现在写下SDK的安装 1.下载Linux版本的Andr ...