2013-05-03 19 views
5

ho un cursore con il valore 0 e massimo valore minimo 5 (essere qualsiasi valore), devo visualizzare 5 colori diversi nella stessa cursore, ovvero un colore 0-1, 1-2 altro colore e così sopra. È possibile . Per favore aiutatemi se avete qualche idea.UISlider con differenti colori

+0

Questo potrebbe aiutare a: https: // www .cocoacontrols.com/search? utf8 =% E2% 9C% 93 & q = slider – Impossible

+0

Questo può aiutarti parecchio Provalo subito [] [1] [1]: http://stackoverflow.com/questions/5865528/customizing-a-slider-control Grazie – Impossible

risposta

1

si dovrà utilizzare le immagini per questo e nel

-(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

È possibile inserire un ImageView con i tuoi colori desiderati sotto il cursore, e impostare MinTrackTint e MaxTrackTint a ClearColor. Lo slider sarà completamente trasparente (tranne il pollice) ma funzionante.

4

Prova questo,

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

Nel metodo di destinazione, è possibile impostare i colori

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

*/ 
} 

Spero che questo vi aiuterà a :)