2013-05-03 40 views
5

Tôi có một thanh trượt có giá trị nhỏ nhất là 0 và giá trị lớn nhất 5 (là giá trị bất kỳ), tôi cần hiển thị 5 màu khác nhau trong cùng một thanh trượt tức là 0-1 một màu, 1-2 màu khác trên. Điều này có thể. Xin hãy giúp tôi nếu có ý tưởng nào.UISlider với các màu khác nhau

+0

Điều này có thể giúp bạn: https: // www .cocoacontrols.com/search? utf8 =% E2% 9C% 93 & q = slider – Impossible

+0

Điều này có thể giúp bạn rất nhiều Chỉ cần thử nó [] [1] [1]: http://stackoverflow.com/questions/5865528/customizing-a-slider-control Cảm ơn – Impossible

Trả lời

1

bạn sẽ phải sử dụng hình ảnh cho điều đó và trong

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

Bạn có thể đặt một ImageView với màu sắc mong muốn của bạn dưới thanh trượt, và thiết lập MinTrackTint và MaxTrackTint để ClearColor. Thanh trượt sẽ hoàn toàn trong suốt (trừ ngón tay cái) nhưng chức năng.

4

Hãy thử điều này,

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

Trong phương pháp mục tiêu, bạn có thể thiết lập các màu sắc

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

*/ 
} 

Hy vọng điều này sẽ giúp bạn :)

Các vấn đề liên quan