0

首先我想说我在这个网站上看到了一些关于如何做到这一点的帖子,虽然似乎没有一个对我有用,所以在我让它工作之前请不要关闭它。

我想要做的是根据滑块的值改变视图的背景,以便用户可以选择他们想要的背景颜色。

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

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

我在编程方面非常基础,因为您可能已经学会了,因为我只是一个将编程作为一种爱好的青少年,我希望有简单的说明清楚地告诉我我需要在哪里放置代码等。

ps 它不会让我发布视图的图像,对不起:(

4

2 回答 2

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];
}
于 2012-12-24T12:16:17.907 回答
1

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

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

或者:

[[mySlider appearance] setBackgroundColor:[UIColor lightGrayColor]];
于 2012-12-24T12:20:58.503 回答