Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS:如何使用滑块设置自定义背景颜色?_Ios_Cocoa Touch_Uiview_Uislider - Fatal编程技术网

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

iOS:如何使用滑块设置自定义背景颜色?,ios,cocoa-touch,uiview,uislider,Ios,Cocoa Touch,Uiview,Uislider,首先我想说的是,我在这个网站上看到了一些关于如何做到这一点的帖子,虽然没有一篇对我有用,所以在我开始工作之前,请不要关闭它 我想做的是根据滑块的值改变视图的背景,以便用户可以选择他们想要的背景颜色 self->colorView.backgroundColor = [UIColor myColor]; myColor = 我想我需要一点这样的代码,尽管我不知道如何定义我的颜色;比如其他颜色的“red:redSlider/255”等等?我也不知道在哪里实现上面的代码,因为我需要它在使用更

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

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

self->colorView.backgroundColor = [UIColor myColor];
myColor = 
我想我需要一点这样的代码,尽管我不知道如何定义我的颜色;比如其他颜色的“red:redSlider/255”等等?我也不知道在哪里实现上面的代码,因为我需要它在使用更改滑块值时不断更新

我在编程方面相当基础,你可能已经学会了,因为我只是一个十几岁的青少年,把编程作为一种爱好,我希望简单的说明能清楚地告诉我需要把代码放在哪里等


p、 它不允许我发布视图的图像,抱歉:(

在您的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];
}
在界面生成器中, 拖动UISlider以查看并将其“值更改”事件出口设置为
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];
}

在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];
}
在界面生成器中, 拖动UISlider以查看并将其“值更改”事件出口设置为
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
或:


当UISlider实现UIAppearence协议时,您可以设置其背景颜色,如下所示:

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


对不起,我想我没有说清楚。我有三个滑块,一个是红色的,一个是蓝色的,一个是绿色的,三个滑块的调整给出了背景的整体颜色。因此我需要实现所有三个滑块来给出整体颜色。我也没有任何“颜色变化逻辑”,所以提供这将非常有帮助:)为此,你能告诉我你想要什么颜色变化逻辑吗?我想要它,使每个滑块(红色、绿色和蓝色)控制它是该基色的百分比,这样当你调整它们时,你可以改变每个原色的值,例如0.5蓝、0.5红和0绿=紫色。非常感谢,但不幸的是我不能得到这是工作!我复制了您编写的代码,将相应的值更改为我命名的值,并检查所有连接是否正常,但仍然没有成功。可能是视图没有更新吗?对不起,我想我没有说清楚。我有三个滑块,一个为红色,一个为蓝色,一个为绿色,三个滑块的调整给出了背景的整体颜色。因此,我需要实现所有三种颜色,以提供整体颜色。我也没有任何“颜色变化逻辑”,因此提供了非常有用的:)为此,您可以让我知道您想要什么颜色变化逻辑吗?我想要它,以便每个滑块(红色、绿色和蓝色)控制该基色的百分比,因此,当您调整它们时,您可以更改每种原色的值,例如0.5蓝色、0.5红色和0绿色=紫色。非常感谢,但不幸的是我不能得到这是工作!我复制了您编写的代码,将相应的值更改为我命名的值,并检查所有连接是否正常,但仍然没有成功。可能是视图没有更新吗?