slider-滑竿

来源:互联网 发布:深孔钻编程学徒 编辑:程序博客网 时间:2024/05/21 16:23

一、slider的创建

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

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

二、slider的基本属性

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

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

                                                            maxinumValue   下限

三、更改slider的外观

图片:

[objc] view plain copy
  1. <span style="font-size:18px;"UIImage *stetchLeftTrack= [UIImage imageNamed:@"拉杆-蓝.png"];  
  2.     UIImage *stetchRightTrack = [UIImage imageNamed:@"拉杆-黑.png"];  
  3.     UIImage *thumbImage = [UIImage imageNamed:@"拉杆钮.png"];  
  4.       
  5.     [ slider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];  
  6.     [ slider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];  
  7.     [ slider setThumbImage:thumbImage forState:UIControlStateHighlighted];  
  8.     [ slider setThumbImage:thumbImage forState:UIControlStateNormal];  
  9.        </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;


五、不等距的步长

[objc] view plain copy
  1. <span style="font-size:18px;">- (void)viewDidLoad {  
  2.     [super viewDidLoad];  
  3.   
  4.     slider = [[UISlider alloc] initWithFrame:self.view.bounds];  
  5.     [self.view addSubview:slider];  
  6.   
  7.     numbers = @[@"1",@"11",@"23"];  
  8.     NSInteger numberOfSteps = ((float)[numbers count] - 1);  
  9.     slider.maximumValue = numberOfSteps;  
  10.     slider.minimumValue = 0;  
  11.     [slider addTarget:self  
  12.                action:@selector(valueChanged:)  
  13.      forControlEvents:UIControlEventValueChanged];  
  14. }  
  15. - (void)valueChanged:(UISlider *)sender {  
  16.       
  17.       
  18.       
  19.     NSUInteger index = (NSUInteger)(slider.value + 0.5);  
  20.     [slider setValue:index animated:NO];  
  21.     NSNumber *number = numbers[index];  
  22.     NSLog(@"sliderIndex: %i", (int)index);  
  23.     NSLog(@"number: %@", number);  
  24. }</span>  

六、竖版slider

[objc] view plain copy
  1. <span style="font-size:18px;"> CGAffineTransform rotation = CGAffineTransformMakeRotation(-1.57079633);  
  2.   
  3.  self.volumeSlider.transform = rotation;  
  4.   
  5.  //跟换Thumb  
  6.   
  7.  [self.volumeSlider setThumbImage:image1 forState:UIControlStateNormal];  
  8.   
  9.  // 跟换bar  并且实现拖动效果  
  10.  //覆盖的图片  
  11.   
  12. [self.volumeSlider setMinimumTrackImage:image2 forState:UIControlStateNormal];  
  13.   
  14.   //底片   
  15.   
  16.  [self.volumeSlider setMaximumTrackImage:image forState:UIControlStateNormal];</span>  
0 0
原创粉丝点击