iOS:如何设置滑块自定义背景颜色?

首先,我想说,我在这个网站上看到了一些关于如何做到这一点的post,虽然没有人为我工作,所以请不要closures它,直到我得到它的工作。

我想要做的是使视图的背景变化取决于滑块的值,以便用户可以select他们想要的背景颜色。

self->colorView.backgroundColor = [UIColor myColor]; myColor = 

我想我会需要一些这样的代码,虽然我不知道如何定义我的颜色是什么东西, 像“red:redSlider / 255”等其他颜色? 我也不知道在哪里实现上面的代码,因为我需要它来不断更新,当使用更改滑块的值。

我在编程方面非常基本,因为您可能已经select了,因为我只是一个十几岁的孩子做爱好,我会很欣赏简单的指示,告诉我清楚我需要放置代码的位置等。

PS它不会让我张贴一个图像的视图,对不起

在你的ViewController.h文件中定义

 @property (nonatomic, strong) IBOutlet UISlider *mySlider; 

在ViewController.m文件中,添加这个:

 - (void) sliderValueChanged:(UISlider *)slider { // Handle your color changing logic here myView.backgroundColor = [UIColor colorWithRed:0.4f green:0.5f blue:1.0f alpha:1.0f]; } 

在Interface Builder中,拖动UISlider查看并将其“Value Changed”事件出口设置为sliderValueChanged方法。

现在,当您更改屏幕上的滑块时,颜色应该根据您在滑块方法sliderValueChanged逻辑进行sliderValueChanged

以下是您的要求的逻辑:

 - (void) sliderValueChanged:(UISlider *)slider { // Assuming slider minimum is 0 and maximum is 1 CGFloat redVal = 0.0f; CGFloat yellowVal = 0.0f; CGFloat blueVal = 0.0f; if (slider == redSlider) { redVal = slider.value; } else if (slider == yellowSlider) { yellowVal = slider.value; } else if (slider == blueSlider) { blueVal = slider.value; } myView.backgroundColor = [UIColor colorWithRed:redVal green:greenVal blue:blueVal alpha:1.0f]; } 

由于UISlider实现UIAppearence协议,您可以设置其背景颜色,如:

 mySlider.backgroundColor = [UIColor lightGrayColor]; // Or any other color 

要么:

 [[mySlider appearance] setBackgroundColor:[UIColor lightGrayColor]];