我有一个滑块,最小值为0,最大值为5(可以是任何值),我需要在同一个滑块中显示5种不同的颜色,即0-1一个颜色,1-2另一个颜色,依此类推。这是否可能?如果有任何想法,请帮助我。
我有一个滑块,最小值为0,最大值为5(可以是任何值),我需要在同一个滑块中显示5种不同的颜色,即0-1一个颜色,1-2另一个颜色,依此类推。这是否可能?如果有任何想法,请帮助我。
试试这个,
UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(0.0f, 400.0f, 320.0f, 35.0f)];
[slider setMinimumTrackTintColor:[UIColor redColor]]; // Initial color of selection
[slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
[[self view] addSubview:slider];
- (void)sliderValueChanged:(UISlider *)slider {
/*
Here you check the value of slider from [slider value] call;
then set the color of slider by using
[slider setMinimumTrackTintColor:[UIColor redColor]];
*/
}
-(IBAction)sliderValueChanged:(UISlider *)sender
{
// depending on the value
// if value is 1 {
[mySlider setMinimumTrackImage:[UIImage imageNamed:@"leftImageforValue=1.png"] forState:UIControlStateNormal];
[mySlider setMaximumTrackImage:[UIImage imageNamed:@"rightImageforValue=1.png"] forState:UIControlStateNormal];
}
您可以在滑块下方放置一个带有所需颜色的ImageView,并将MinTrackTint和MaxTrackTint设置为ClearColor。 滑块将完全透明(除了拇指)但是功能正常。