天天看点

UISlider-IOS开发

初始化一个Slider

UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 400,320 , 20)];

访问UISlider的值

slider.value = 3;  //设置slider的值

float value = slider.value;  //得到slider的值

[slider setValue:3 animated:YES];  //设置slider的值

slider.minimumValue = 0;  //设置滑轮所能滚动到的最小值

slider.maximumValue = 1;  //设置滑轮所能滚动到的最大值

设置UISlider的行为

[slider addTarget:self action:@selector(change) forControlEvents:UIControlEventValueChanged];

//为slider添加方法当slider的值改变时就会触发change方法

slider.continuous = YES;  

//默认值为YES设置为YES只要滑轮滚动就会触发change方法设置为NO只有当滑轮停止移动时才会触发change方法

改变UISlider的外观

slider.minimumValueImage = [UIImage imageNamed:@"设置slider左边的图片"];

slider.maximumValueImage = [UIImage imageNamed:@"设置slider右边的图片"];

//设置了会减小滚动区域的宽度,但整个slider的宽度不变

[slider setMinimumTrackImage:[UIImage imageNamed:@"设置滑轮左边的图片,最好宽度和slider一样"] forState:UIControlStateNormal];

[slider currentMinimumTrackImage]; //得到当前滑轮左边的图片如果有的话

[slider setMaximumTrackImage:[UIImage imageNamed:@"设置滑轮左边的图片,最好宽度和slider一样"] forState:UIControlStateNormal];

[slider currentMaximumTrackImage]; //得到当前滑轮右边的图片如果有的话

UISlider-IOS开发
UISlider-IOS开发

把蓝色的设置为MinimumTrackImage

把灰色的设置为MaximumTrackImage

可以加一个label用于显示value,在UISlider的行为的change方法里改变label.text属性

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

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

[slider thumbImageForState:UIControlStateNormal];  

[slider setThumbImage:[UIImage imageNamed:@"设置滑轮样子的图片"] forState:UIControlStateHighlighted];//设置了普通状态和高亮状态的滑轮样式

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

以下是供子类重写的方法

关于CGRect和Bounds点击这里    

maximumValueImageRectForBounds:CGRect

slider minimumValueImageRectForBounds:CGRect

slider trackRectForBounds:CGRect

slider thumbRectForBounds:CGRect trackRect:CGRect value:float

继续阅读