zoukankan      html  css  js  c++  java
  • 【IOS实例小计】图像移动--可扩展为动态实现图标变化

    预备知识:

    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

  • 相关阅读:
    Opencv保存摄像头视频&&各种编码器下视频文件占用空间对比
    生活的 tricks
    生活的 tricks
    词汇的积累 —— 反义词、同义词
    词汇的积累 —— 反义词、同义词
    目标跟踪系列十一:Exploiting the Circulant Structure of Tracking-by-detection with Kernels代码思路
    Java中Integer类的方法
    php中 重载(二)
    协方差的意义
    malloc函数具体解释
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3310527.html
Copyright © 2011-2022 走看看