iOS开发之滑块UISlider

UISlider是OC中很简单的一个模块,不过想要加粗或者竖直显示时需要花点功夫罢了.
简单的滑动条

// 初始化
UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(100, 200, 100, 20)];  
// 添加到俯视图
[self.view addSubview:slider];  

接下来可以设置它的一些属性了

// 设置最小值
slider.minimumValue = 9;  
// 设置最大值
slider.maximumValue = 11;  
// 设置初始值  
 slider.value = (slider.minimumValue + slider.maximumValue) / 2;
// 设置可连续变化
 slider.continuous = YES;  
//滑轮左边颜色,如果设置了左边的图片就不会显示  
slider.minimumTrackTintColor = [UIColor greenColor]; 
//滑轮右边颜色,如果设置了右边的图片就不会显示  
slider.maximumTrackTintColor = [UIColor redColor];

/// 也可设置为图片
///[slider setMinimumTrackImage:[UIImageimageNamed:@"max.png"] forState:UIControlStateNormal];
//[slider setMaximumTrackImage:[UIImageimageNamed:@"min.png"] forState:UIControlStateNormal];

//设置了滑轮的颜色,如果设置了滑轮的样式图片就不会显示  slider.thumbTintColor = [UIColor redColor];
// 针对值变化添加响应方法  
 [slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];

如果你想竖直来放,只需要旋转90度就好,slider本身只是水平放置,无竖直显示特性

slider.transform = CGAffineTransformMakeRotation(1.57079633);

如果你想加粗滑动条,那么就要重写一个继承与UISlider的类了,然后重写里面的实现方法来控制:

/// 设置最小值
- (CGRect)minimumValueImageRectForBounds:(CGRect)bounds;
/// 设置最大值
- (CGRect)maximumValueImageRectForBounds:(CGRect)bounds;
/// 控制slider的宽高
- (CGRect)trackRectForBounds:(CGRect)bounds;
/// 改变滑块的触摸范围
- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value;

根据需要实现即可, 不必全部实现

你可能感兴趣的:(iOS开发之滑块UISlider)