您的位置:首页 > 产品设计 > UI/UE

UISlider

2015-11-17 23:26 417 查看

初始化

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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: