关闭

UISlider

110人阅读 评论(0) 收藏 举报
分类:

初始化

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);
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10547次
    • 积分:438
    • 等级:
    • 排名:千里之外
    • 原创:32篇
    • 转载:15篇
    • 译文:1篇
    • 评论:1条
    文章分类
    最新评论