首先,我想说我在这个网站上看到了几个关于如何做到这一点的帖子,虽然似乎没有一个对我有用,所以请不要关闭它直到我开始工作。
我想要做的是让视图的背景根据滑块的值而改变,以便用户可以选择他们想要的背景颜色。
self->colorView.backgroundColor = [UIColor myColor];
myColor =
我想我需要一些这样的代码,虽然我不知道如何定义我的颜色会是什么样的东西;像“red:redSlider / 255”等其他颜色?我也不知道在哪里实现上面的代码,因为我需要它在使用时更改滑块的值时不断更新。
我在编程方面非常基础,因为你可能已经习惯了,因为我只是一个青少年,这是一个爱好,我很欣赏简单的指示,告诉我清楚我需要放置代码等等。
P.S。它不会让我发布视图的图像,抱歉:(
答案 0 :(得分:2)
在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
以下是符合您要求的逻辑:
- (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];
}
答案 1 :(得分:1)
当UISlider实现UIAppearence协议时,您可以将其背景颜色设置为:
mySlider.backgroundColor = [UIColor lightGrayColor]; // Or any other color
或:
[[mySlider appearance] setBackgroundColor:[UIColor lightGrayColor]];