我有一个最小值为 0 和最大值为 5(任意值)的滑块,我需要在同一个滑块中显示 5 种不同的颜色,即 0-1 一种颜色,1-2 另一种颜色等等。这可能吗 。如果有任何想法,请帮助我。
问问题
9156 次
3 回答
4
尝试这个,
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]];
*/
}
希望对你有帮助 :)
于 2013-05-03T10:16:05.710 回答
1
您将不得不为此使用图像,并且在
-(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];
}
于 2013-05-03T07:06:03.023 回答
0
您可以在滑块下方放置一个具有所需颜色的 ImageView,并将 MinTrackTint 和 MaxTrackTint 设置为 ClearColor。滑块将完全透明(拇指除外)但可以正常工作。
于 2013-05-03T07:09:27.247 回答