初始化一个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]; //得到当前滑轮右边的图片如果有的话
把蓝色的设置为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