IOS开发 UI UISlider

   UIslider 滑块控件,常用于音频,视频的播放

1.创建RootViewController,RootView,

2.在Rootview.h设置UIImageView,UIslider的属性,在.m中设置

#import "RootView.h"

@implementation RootView

- (instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self setupView];
    }
    return self;
}
- (void)setupView{
    self.backgroundColor = [UIColor yellowColor];
    self.slider = [[UISlider alloc] initWithFrame:CGRectMake(20, 500, 380, 20)];
    //设置滑块的最大值
    self.slider.maximumValue = 10;
    self.slider.minimumValue = -10;
    //设置已播放部分的凹槽颜色
    self.slider.minimumTrackTintColor = [UIColor redColor];
    //设置未播放部分的凹槽颜色
    self.slider.maximumTrackTintColor = [UIColor blueColor];
    //设置滑动球的颜色和背景图片
    //self.slider.thumbTintColor = [UIColor cyanColor];
    [self.slider setThumbImage:[UIImage imageNamed:@"z21.jpg"] forState:UIControlStateNormal];
    self.slider.maximumValueImage = [UIImage imageNamed:@"51.jpg"];
    self.slider.minimumValueImage = [UIImage imageNamed:@"z21.jpg"];
    //设置滑块的当前值。如果不设置边界范围默认是0-1;
    self.slider.value = 5;
 
    //播放动图
    NSMutableArray *arr = [NSMutableArray array];
    for (int i = 0; i < 6; i++) {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.tiff",i]];
        [arr addObject:image];
    }
    
    self.image = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 200, 200)];
    self.image.animationImages = arr;
    //self.image.animationDuration = 3;//播放时间
    //self.image.animationRepeatCount = 100;//设置播放次数
    //[self.image startAnimating];//设置开始播放
    
    [self addSubview:self.image];
    
    [self addSubview:self.slider];
 
}

3.在Rootviewcontroller.m中


#import "RootViewController.h"

@interface RootViewController ()

@end

@implementation RootViewController
-(void)loadView{
    self.rv= [[RootView alloc] initWithFrame:[[UIScreen mainScreen]bounds]];
    self.view = self.rv;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    //UISlider
    /*
     UIslider 滑块控件,常用于音频,视频的播放
     */
    [self.rv.slider addTarget:self action:@selector(action:) forControlEvents:UIControlEventValueChanged];
}

- (void)action:(UISlider *)sender{
//    NSLog(@"当前的值是:%lf",sender.value);
    self.rv.image.animationDuration = sender.value;
    self.rv.image.animationRepeatCount = 0;//重复次数
    [self.rv.image startAnimating];
}

UISlider的自动播放

在创建的RootView中

#pragma mark       UISlider
    self.slider = [[UISlider alloc]initWithFrame:CGRectMake(50, 400, 300, 10)];
    self.slider.backgroundColor = [UIColor yellowColor];
    [self addSubview:self.slider];
    

在RootViewconroller.m


- (void)viewdidLoad{

#pragma mark        UISlider 滑动条
    //最大值
    self.rv.slider.maximumValue = 60;
    //最小值
    self.rv.slider.minimumValue = 0;
    
    self.rv.slider.maximumValueImage = [UIImage imageNamed:@"51.jpg"];
    self.rv.slider.minimumValueImage = [UIImage imageNamed:@"z21.jpg"];
    //设置滑条颜色
    self.rv.slider.tintColor = [UIColor cyanColor];
    //设置滑动球的颜色
    self.rv.slider.thumbTintColor = [UIColor brownColor];
    
    //[self.rv.slider setThumbImage:[UIImage imageNamed:@"z.jpg"] forState:UIControlStateNormal];
    //添加滑动注释
    [self.rv.slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
    
    //定时器类的NStimer
    [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerAction:) userInfo:nil repeats:YES];

}
#pragma mark         UISlider的点击事件

- (void)timerAction:(NSTimer *)sender{
    //    self.rv.backgroundColor = [UIColor colorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0  blue:arc4random()%256/255.0 alpha:arc4random()%256/255.0];

    self.rv.slider.value++;
}

- (void)sliderAction:(UISlider *)sender{
    //sender.value 能获取当前slider所在位置的值
    self.rv.backgroundColor = [UIColor colorWithRed:sender.value green:sender.value blue:sender.value alpha:sender.value];
    NSLog(@"%f",sender.value);
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值