具有不同颜色的UISlider

6

我有一个滑块,最小值为0,最大值为5(可以是任何值),我需要在同一个滑块中显示5种不同的颜色,即0-1一个颜色,1-2另一个颜色,依此类推。这是否可能?如果有任何想法,请帮助我。


这可能对你有帮助:https://www.cocoacontrols.com/search?utf8=%E2%9C%93&q=slider - Priyank Gandhi
这可以帮助你很多,试试看吧。 - Priyank Gandhi
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];

在target方法中,您可以设置颜色。
- (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]];

 */
}

希望这能帮到您:)

1
你将需要使用图片来实现这一点,在HTML中保留原样。
-(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];
}

0

您可以在滑块下方放置一个带有所需颜色的ImageView,并将MinTrackTint和MaxTrackTint设置为ClearColor。 滑块将完全透明(除了拇指)但是功能正常。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接