水平和垂直滑杆,带有自定义轨道图像/颜色

时间:2013-09-09 12:09:43

标签: ios uislider

如何使用xib创建具有自定义轨迹图像/颜色的水平和垂直滑动条?

目前我已经使用了xib的水平滑动条,现在我需要像上面那样进行自定义。

目前正在使用此代码使我的UISlider以垂直位置显示:

CGAffineTransform sliderRotation = CGAffineTransformIdentity;
sliderRotation = CGAffineTransformRotate(sliderRotation, -(M_PI / 2));
customSliderVertical.transform = sliderRotation;

1 个答案:

答案 0 :(得分:1)

最后经过一些努力和时间找到了有助于获得所需输出的解决方案,我得到了我的垂直和水平UISlider以下代码:

/////////////Vertical Slider/////////////
[customSliderVertical addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
// in case the parent view draws with a custom color or gradient, use a transparent color
customSliderVertical.backgroundColor = [UIColor clearColor];
customSliderVertical.opaque = 20.0;
UIImage *stretchUpTrack = [[UIImage imageNamed:@"color.png"]
                            stretchableImageWithLeftCapWidth:0.0 topCapHeight:0.0];
UIImage *stretchDownTrack = [[UIImage imageNamed:@"color2.png"]
                             stretchableImageWithLeftCapWidth:0.0 topCapHeight:0.0];
[customSliderVertical setThumbImage:[UIImage imageNamed:@"rounded.png"]forState:UIControlStateNormal];
[customSliderVertical setMinimumTrackImage:stretchUpTrack forState:UIControlStateNormal];
[customSliderVertical setMaximumTrackImage:stretchDownTrack forState:UIControlStateNormal];
customSliderVertical.minimumValue = 0.0;
customSliderVertical.maximumValue = 100.0;
customSliderVertical.continuous = NO;
customSliderVertical.value = 50.0;
CGAffineTransform sliderRotation = CGAffineTransformIdentity;
sliderRotation = CGAffineTransformRotate(sliderRotation, -(M_PI / 2));
customSliderVertical.transform = sliderRotation;

/////////////Horizontal Slider/////////////    
[customSliderHorizontal addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
// in case the parent view draws with a custom color or gradient, use a transparent color
customSliderHorizontal.backgroundColor = [UIColor clearColor];
customSliderHorizontal.opaque = 20.0;
UIImage *stretchLeftTrack2 = [[UIImage imageNamed:@"color.png"]
                             stretchableImageWithLeftCapWidth:0.0 topCapHeight:0.0];
UIImage *stretchRightTrack2 = [[UIImage imageNamed:@"color2.png"]
                              stretchableImageWithLeftCapWidth:0.0 topCapHeight:0.0];
[customSliderHorizontal setThumbImage:[UIImage imageNamed:@"rounded.png"]forState:UIControlStateNormal];
[customSliderHorizontal setMinimumTrackImage:stretchLeftTrack2 forState:UIControlStateNormal];
[customSliderHorizontal setMaximumTrackImage:stretchRightTrack2 forState:UIControlStateNormal];
customSliderHorizontal.minimumValue = 0.0;
customSliderHorizontal.maximumValue = 100.0;
customSliderHorizontal.continuous = NO;
customSliderHorizontal.value = 50.0;