[TwistedFate]滑块UISlider 跑图UIImageView

UISlider

初始化及设背景色

UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(40, 100, 300, 20)];
slider.backgroundColor = [UIColor redColor];

设置轨迹颜色

[slider setMinimumTrackTintColor:[UIColor greenColor]];
[slider setMaximumTrackTintColor:[UIColor blackColor]];

设置球的颜色

[slider setThumbTintColor:[UIColor cyanColor]];

设置背景图片

[slider setMinimumValueImage:[UIImage imageNamed:@"01-refresh"]];
[slider setMaximumValueImage:[UIImage imageNamed:@"03-loopback"]];

设置 轨迹图片

// 设置轨迹图片
[slider setMinimumTrackImage:[UIImage imageNamed:@"03-loopback"] forState:(UIControlStateHighlighted)];     
// 三种状态

设置圆球图片

// 三种状态
slider setThumbImage:[UIImage imageNamed:@"01-refresh"] forState:(UIControlStateNormal)];
    [slider setThumbImage:[UIImage imageNamed:@"02-redo"] forState:(UIControlStateHighlighted)];
    [slider setThumbImage:[UIImage imageNamed:@"03-loopback"] forState:(UIControlStateSelected)];

设置滑块的处置 最大值 最小值

如果要设置初值,需要先把最大值与最小值设置上,再给初值才会有变化

// ********************** // 
slider.minimumValue = 0;
slider.maximumValue = 10;
slider.value = 0;

添加滑动事件

// 除了button 其余多用ValueChanged
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:(UIControlEventValueChanged)];

添加到视图上并释放

[self.view addSubview:slider];
[slider release];

跑图

创建一个数组存储图片

NSMutableArray *imageArray = [NSMutableArray array];
for (int i = 1; i < 22; i++) {
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]];
    [imageArray  addObject:image];
}

初始化imageView添加标签及背景色

UIImageView *imageV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 160, 375, 400)];
imageV.tag = 111;
imageV.backgroundColor = [UIColor redColor]

设置imageView播放动画的数组

imageV.animationImages = imageArray;

设置时间间隔(播放完整的一次时间间隔)

imageV.animationDuration = 10;

设置重复的次数(零代表无限次)

imageV.animationRepeatCount = 0;

设置开始播放动画

[imageV startAnimating];

添加到视图上并释放

[self.view addSubview:imageV];
[imageV release];

实现点击事件

slider控制 动画播放的时间间隔,并且 slider滑动到最大值 停止动画

- (void)sliderAction:(UISlider *)slider{
    UIImageView *imageV = (UIImageView *)[self.view viewWithTag:111];
    if (slider.value == slider.maximumValue) {
        [imageV stopAnimating];
        slider.selected = YES;
        imageV.image = [UIImage imageNamed:@"car.jpg"];
    }else{
        imageV.animationDuration = 10 - slider.value;
        [imageV startAnimating];
        slider.selected = NO;
    }
发布了68 篇原创文章 · 获赞 0 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章