先看图
代码:
- (void)makeSubView
{
// 竖线
UIImage *verticalBarImage = ImageFileName(@"slider_vertical_bar");
// 滑块
UIImage *thumbImage = ImageFileName(@"slider_thumb");
// 左侧图片
UIImage *minimumTrackImage = ImageFileName(@"minimum_track");
minimumTrackImage = [minimumTrackImageresizableImageWithCapInsets:UIEdgeInsetsMake(0,10, 0, 10)];
// 右侧图片
UIImage *MaximumTrackImage = ImageFileName(@"maximum_track");
MaximumTrackImage = [MaximumTrackImageresizableImageWithCapInsets:UIEdgeInsetsMake(0,10, 0, 10)];
// 竖线添加到slider上
for (int i =1; i < 4; i++)
{
UIImageView *verticalBarImageView = [[UIImageViewalloc] initWithImage:verticalBarImage];
verticalBarImageView.frame =CGRectMake(self.frame.size.width /4.0 * i,
(self.frame.size.height - verticalBarImage.size.height) /2 + 0.5,
verticalBarImage.size.width,
verticalBarImage.size.height);
[selfaddSubview:verticalBarImageView];
[verticalBarImageViewrelease];
}
// 添加滑块等...
[selfsetThumbImage:thumbImage forState:UIControlStateNormal];
[selfsetMinimumTrackImage:minimumTrackImage forState:UIControlStateNormal];
[selfsetMaximumTrackImage:MaximumTrackImage forState:UIControlStateNormal];
self.minimumValue =1.0;
self.maximumValue =5.0;
self.value =5.0;
self.continuous =NO; // 是否平滑滑动
[selfaddTarget:selfaction:@selector(changeValue:)forControlEvents:UIControlEventValueChanged];
/*
// 旋转
CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI * -0.5);
slider.transform = trans;
*/
/// 显示slider的值
//[self showSliderValueLabel];
}
- (void)changeValue:(WZSlider *)sender
{
float value = sender.value;
if (value < 1.5)
{
sender.value =1.0;
}
else if (value >=1.5 && value < 2.5)
{
sender.value =2.0;
}
else if (value >=2.5 && value < 3.5)
{
sender.value =3.0;
}
else if (value >=3.5 && value < 4.5)
{
sender.value =4.0;
}
else
{
sender.value =5.0;
}
}