2013-05-03 65 views
5

我有一个最小值为0,最大值为5(任何值)的滑块,我需要在同一滑块中显示5种不同的颜色,即0-1一种颜色,1-2另一种颜色等上。这可能吗 。如果有任何想法,请帮助我。不同颜色的UISlider

+0

这可以帮助你:https://开头WWW .cocoacontrols.com/search?utf8 =%E2%9C%93&q =滑块 – Impossible 2013-05-03 07:05:09

+0

这可以帮助你很多试试吧 [] [1] [1]:http://stackoverflow.com/questions/5865528/customizing-a-slider-control 谢谢 – Impossible 2013-05-03 07:09:35

回答

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]; 
} 
0

你可以把一个ImageView的与滑块在你想要的颜色,并设置MinTrackTint和MaxTrackTint到ClearColor。滑块将完全透明(除了拇指),但功能。

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]]; 

*/ 
} 

希望这将帮助你:)