这次利用UISlider来控制动画的播放速度。
布局是建立一个rootController。利用自带的view,在上面添加子视图。
技巧是
1.当调节了动画,需要从新开启
[_imageView startAnimating];
2.为了避免使用UISlider的方向逆向。
使用最大值减去当前值来作为动画的周期
_imageView.animationDuration = slider.maximumValue - slider.value;
#import "RootViewController.h"
@interface RootViewController ()
@property(nonatomic,retain)UIImageView *imageView;
@property(nonatomic,retain)UISlider *slider;
@property(nonatomic,assign)float time;
@end
@implementation RootViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
#pragma mark ------------------创建UIImageview
[self createImageView];
#pragma mari ============创建UISlider
[self createLider];
// Do any additional setup after loading the view.
}
-(void)createLider
{
self.slider = [[UISlider alloc]initWithFrame:CGRectMake(100, 300, 150, 30)];
[self.view addSubview:_slider];
//设置最大值
_slider.maximumValue = 1.0;
//设置最小值
_slider.minimumValue = 0.1;
//设置划过区域的颜色
_slider.minimumTrackTintColor = [UIColor blueColor];
//设置滑块
[_slider setThumbImage:[UIImage imageNamed:@"2.png"] forState:UIControlStateNormal];
_slider.value = 0.5;
_slider.maximumValueImage = [UIImage imageNamed:@"2.png"];
_slider.thumbTintColor = [UIColor redColor];
[_slider addTarget:self action:@selector(changeSpeed:) forControlEvents:UIControlEventValueChanged];
// _time = _slider.value;
// _slider.continuous = NO;
[_slider release];
}
-(void)changeSpeed:(UISlider *)slider{
if (slider.value == slider.minimumValue) {
[_imageView stopAnimating];
}else if(slider.value != slider.maximumValue){
_imageView.animationDuration = slider.maximumValue - slider.value;
[_imageView startAnimating];
}
}
-(void)createImageView{
_imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
// _imageView.backgroundColor = [UIColor redColor];
[self.view addSubview:_imageView];
NSMutableArray *arr = [NSMutableArray array];
for (int i = 1; i<4; i++) {
NSString *str = [NSString stringWithFormat:@"2-%d(被拖移).tiff",i];
UIImage *icon =[UIImage imageNamed:str];
[arr addObject:icon];
}
_imageView.animationImages = arr;
// _imageView.animationDuration = _slider.value;
// [_imageView startAnimating];
_imageView.image = [UIImage imageNamed:@"2-1(被拖移).tiff"];
[_imageView release];
}