0

最初に、このサイトでこれを行う方法についていくつかの投稿を見たと言いたいのですが、どれもうまくいかないようでしたので、うまくいくまでこれを閉じないでください.

私がやりたいことは、ユーザーが必要な背景色を選択できるように、スライダーの値に応じてビューの背景を変更することです。

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

そのようなコードが少し必要になると思いますが、自分の色が何になるかを定義する方法はわかりません。「赤:redSlider / 255」など、他の色についてはどうですか?また、使用によってスライダーの値が変更されたときに継続的に更新する必要があるため、上記のコードを実装する場所もわかりません。

私は趣味でプログラミングをしている 10 代の若者にすぎないので、お気づきかもしれませんが、私はプログラミングに関して非常に基本的です。コードを配置する必要がある場所などを明確に教えてくれる簡単な指示をいただければ幸いです。

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 に答える