簡體   English   中英

移動滑塊時如何更改按鈕的背景色?

[英]How do I change the background color of a button as I move a slider?

我目前正在努力使按鈕的背景色隨着滑塊達到特定點而發生變化。 我希望當我的滑塊值達到1時背景顏色從橙色變為藍色,但是現在僅當我按下按鈕時它才改變顏色。 請幫助 :)

這是我目前擁有的:

- (IBAction)buttonChange:(id)sender {
if ([_statuslabel.text isEqualToString:@"Temperature: 1"]) {
    [_myButton setBackgroundColor: [UIColor blueColor]] ;

要不斷更改按鈕顏色,可以使用以下代碼:

- (IBAction)sliderValueChanged:(UISlider *)sender
{
    CGFloat blueHue = 232.0f;  // should be kind of blue
    CGFloat orangeHue = 32.0f; // should be kind of orange

    CGFloat resultingHue = ((blueHue - orangeHue)) * sender.value + orangeHue;

    self.yourButton.backgroundColor = [UIColor colorWithHue:resultingHue / 360.0f
                                                 saturation:1
                                                 brightness:1
                                                      alpha:1];
}

只需在IB連接UISlider並為Value Changed事件設置sliderValueChanged:方法即可。

使用HSV( http://en.wikipedia.org/wiki/HSL_and_HSV )模型應該是歸檔所需內容的最簡單解決方案。

希望這可以幫助

根據我對問題的解釋,您正在使用UISlider,並在touchupinside上調用此函數。

要持續更新,請執行值更改功能

-(IBAction)sliderValueChanged:(UISlider*)slider {
    if (slider.value > 0.5)
        slider.backgroundColor = [UIColor blueColor];
    else
        slider.backgroundColor = [UIColor orangeColor];
}

然后在界面構建器中將此連接到滑塊的“ Value Changed”插座

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM