我的iphone开发学习笔记(三)使用UISlide, UIImageView及动画

今天例子练习的目的是:

1。 使用Button开关图片及动画演示

2。 使用slide来调整动画演示的速度


最终效果如下:



具体练习步骤如下:

1。 创建view_base_application, 名称为ImageHop;

2.  添加图片资源,方法是选择Resouce文件夹,右键选择add/Existing files, 选择图片后确定,勾选复制;

3.  打开ImageHopViewController.xib

     添加各个UI控件,包括ImageView,选择图片作为第一帧显示

    然后添加UISlide, UIButton,UILabel

4。 链接UI控件和file‘s Owner

       

5。 打开ImageHopViewController.h

        声明各个UI控件,并且设置@property

        定义两个函数

//  ImageHopViewController.h
//  ImageHop
//
//  Created by 旭 陈 on 11-12-2.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ImageHopViewController : UIViewController {
	IBOutlet UILabel *speedLabel;
	IBOutlet UIImageView *imgView;
	IBOutlet UISlider *slide;
	IBOutlet UIButton *button;
}

@property(retain,nonatomic)IBOutlet UILabel *speedLabel;
@property(retain,nonatomic)IBOutlet UIImageView *imgView;
@property(retain,nonatomic)UISlider *slide;
@property(retain,nonatomic)UIButton *button;

-(IBAction)toggleAnimation:(id)sender;
-(IBAction)setSpeed:(id)sender;

@end

6。 实现具体方法

     6。1 viewDidLoad, NSArray *imageArr 初始化

     6。2  实现-(IBAction)toogleAnimation 打开和关闭动画

setSpeed

     6。3  显示   -(IBAction)setSpeed:(id)sender

             主要的含义就是imageView.animationDuration=newSpeed;


   具体代码如下:

   

//
//  ImageHopViewController.m
//  ImageHop
//
//  Created by 旭 陈 on 11-12-2.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import "ImageHopViewController.h"

@implementation ImageHopViewController

@synthesize speedLabel;
@synthesize imgView;
@synthesize slide;
@synthesize button;


/*
 // The designated initializer. Override to perform setup that is required before the view is loaded.
 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
 if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
 // Custom initialization
 }
 return self;
 }
 */

/*
 // Implement loadView to create a view hierarchy programmatically, without using a nib.
 - (void)loadView {
 }
 */


NSArray *imgArr;
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
	imgArr =[NSArray arrayWithObjects:[UIImage imageNamed:@"frame-1.png"],
			 [UIImage imageNamed:@"frame-2.png"], 
			 [UIImage imageNamed:@"frame-3.png"],
			 [UIImage imageNamed:@"frame-4.png"],
			 [UIImage imageNamed:@"frame-5.png"],
			 [UIImage imageNamed:@"frame-6.png"],
			 [UIImage imageNamed:@"frame-7.png"],
			 [UIImage imageNamed:@"frame-8.png"],
			 [UIImage imageNamed:@"frame-9.png"],
			 [UIImage imageNamed:@"frame-10.png"],nil];
	imgView.animationImages = imgArr;
	imgView.animationDuration=1;
	[super viewDidLoad];
}



/*
 // Override to allow orientations other than the default portrait orientation.
 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
 // Return YES for supported orientations
 return (interfaceOrientation == UIInterfaceOrientationPortrait);
 }
 */

- (void)didReceiveMemoryWarning {
	// Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
	
	// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
	// Release any retained subviews of the main view.
	// e.g. self.myOutlet = nil;
}


- (void)dealloc {
	[imgArr release];
	[slide release];
	[speedLabel release];
    [super dealloc];
}

-(IBAction)toggleAnimation:(id)sender{
	if (imgView.isAnimating) {
		[imgView stopAnimating];
		[button setTitle:@"sit" forState:UIControlStateNormal];
	}else {
		[imgView startAnimating];
		[button setTitle:@"run" forState:UIControlStateNormal];
		
	}
	
}
-(IBAction)setSpeed:(id)sender{
	imgView.animationDuration = slide.value;
	speedLabel.text = [[NSString alloc]initWithFormat:@"%1.2f hps",slide.value];
}


@end

测试通过,明天继续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值