【问题标题】:UISlider with different colors不同颜色的 UISlider
【发布时间】:2013-05-03 07:01:16
【问题描述】:

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

【问题讨论】:

标签: iphone ios objective-c ipad uislider


【解决方案1】:

试试这个,

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

 */
}

希望对你有帮助:)

【讨论】:

    【解决方案2】:

    您将不得不为此使用图像,并且在

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-24
        • 1970-01-01
        • 2016-07-13
        相关资源
        最近更新 更多