slider-滑竿

一、slider的创建

slider是一个标准的UIControl滑块的高也会被忽略,但是宽度不会。

代码创建:UISlider *slider = [[UISlideralloc]initWithFrame:CGRectMake(0, 400,320 , 20)];

二、slider的基本属性

1、设置滑块的范围,如果没有设置,会默认0-1

UISlider提供了两个属性来设置范围:mininumValue    上限

                                                            maxinumValue   下限

三、更改slider的外观

图片:

<span style="font-size:18px;"> UIImage *stetchLeftTrack= [UIImage imageNamed:@"拉杆-蓝.png"];
    UIImage *stetchRightTrack = [UIImage imageNamed:@"拉杆-黑.png"];
    UIImage *thumbImage = [UIImage imageNamed:@"拉杆钮.png"];
    
    [ slider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];
    [ slider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];
    [ slider setThumbImage:thumbImage forState:UIControlStateHighlighted];
    [ slider setThumbImage:thumbImage forState:UIControlStateNormal];
       </span>


纯色:

slider.minimumTrackTintColor = [UIColorredColor]; //滑轮左边颜色如果设置了左边的图片就不会显示

slider.maximumTrackTintColor = [UIColorredColor]; //滑轮右边颜色如果设置了右边的图片就不会显示

slider.thumbTintColor = [UIColorredColor];//设置了滑轮的颜色如果设置了滑轮的样式图片就不会显示


你可以根据滑块的各种不同状态显示不同的图像。下面是可用状态:

UIControlStateNormal

UIControlStateHighlighted

UIControlStateDisabled

UIControlStateSelected

四、增加事件

[_litresSlider addTarget:self action:@selector(litresSliderValueChanged) forControlEvents:UIControlEventValueChanged];

如果要在拖动中也触发,需要设置滑块的continuos 属性

_litresSlider.continuous = YES;


五、不等距的步长

<span style="font-size:18px;">- (void)viewDidLoad {
    [super viewDidLoad];

    slider = [[UISlider alloc] initWithFrame:self.view.bounds];
    [self.view addSubview:slider];

    numbers = @[@"1",@"11",@"23"];
    NSInteger numberOfSteps = ((float)[numbers count] - 1);
    slider.maximumValue = numberOfSteps;
    slider.minimumValue = 0;
    [slider addTarget:self
               action:@selector(valueChanged:)
     forControlEvents:UIControlEventValueChanged];
}
- (void)valueChanged:(UISlider *)sender {
    
    
    
    NSUInteger index = (NSUInteger)(slider.value + 0.5);
    [slider setValue:index animated:NO];
    NSNumber *number = numbers[index];
    NSLog(@"sliderIndex: %i", (int)index);
    NSLog(@"number: %@", number);
}</span>

六、竖版slider

<span style="font-size:18px;"> CGAffineTransform rotation = CGAffineTransformMakeRotation(-1.57079633);

 self.volumeSlider.transform = rotation;

 //跟换Thumb

 [self.volumeSlider setThumbImage:image1 forState:UIControlStateNormal];

 // 跟换bar  并且实现拖动效果
 //覆盖的图片

[self.volumeSlider setMinimumTrackImage:image2 forState:UIControlStateNormal];

  //底片 

 [self.volumeSlider setMaximumTrackImage:image forState:UIControlStateNormal];</span>




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值