初始化
UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(20, 100, 300, 10)]
设置背景颜色
slider.backgroundColor = [UIColor cyanColor];
设置轨迹颜色
//最大值到滑块的轨迹的颜色
[slider setMaximumTrackTintColor:[UIColor greenColor]];
//最小值到滑块的轨迹的颜色
[slider setMinimumTrackTintColor:[UIColor redColor]];
//滑块的颜色
[slider setThumbTintColor:[UIColor yellowColor]];
设置图片
设置最大值 最小值的图片
[slider setMaximumValueImage:[UIImage imageNamed:@"01-refresh"]];
[slider setMinimumValueImage:[UIImage imageNamed:@"02-redo"]];
设置各种状态的图片
slider setThumbImage:[UIImage imageNamed:@"03-loopback"] forState:(UIControlStateNormal)];
[slider setThumbImage:[UIImage imageNamed:@"01-refresh"] forState:(UIControlStateHighlighted)];
[slider setThumbImage:[UIImage imageNamed:@"02-redo"] forState:(UIControlStateSelected)];
设置滑块的初值 最大值 最小值
如果想设置初值位置 需要先把最大值 最小值设置上
再给初值 才会发生变化
slider.minimumValue = 0;
slider.maximumValue = 10;
slider.value = 1;
添加滑动事件(除了button 都是监测的是值的变化)
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:(UIControlEventValueChanged)];
添加到父视图
[self.view addSubview:slider];
UIImageView动画 (跑图)
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(40, 150, 300, 400)];
imageView.backgroundColor = [UIColor cyanColor];
imageView.tag = 100;
[self.view addSubview: imageView];
[imageView release];
构建一个图片的数组
//创建一个可变数组 用来保护图片
NSMutableArray *array = [NSMutableArray array];
for (int i = 1; i < 11; i++) {
//把图片的名字 拼接出来
NSString *imageName = [NSString stringWithFormat:@"%d.jpg",i];
//NSLog(@"%@",imageName);
//初始化每一张图片
UIImage *image = [UIImage imageNamed:imageName];
//UIImage *image = [UIImage imageNamed:[NSString stringWithFormat: @"%d.jpg",i]];
[array addObject:image];
};
设置imageView 的动画数组(父类指针指向子类对象 多态)
imageView.animationImages = array;
设置时间间隔(播放完整一次10秒)
imageView.animationDuration = 10;
设置重复次数(0 代表无限次)
imageView.animationRepeatCount = 0;
让动画开始
[imageView startAnimating];
slider控制 动画播放的时间间隔
并且 slider滑动到最大值 停止动画
实现跑图方法
- (void)sliderAction:(UISlider *)slider
{
UIImageView *image = (UIImageView *)[self.view viewWithTag:100];
if (slider.value == slider.maximumValue) {
//为了美观 停止的时候 添加一张占位图
[image stopAnimating];
image.image = [UIImage imageNamed:@"3.jpg"];
slider.selected = YES;
}else
{
image.animationDuration = slider.value;
[image startAnimating];
}
// NSLog(@"%.2f",slider.value);
}