2012-06-22 110 views
0

我有三個標籤接收來自三個UISliders的輸出。計算結果並在觸摸分段控件時將其放置在第四個標籤中。UISlider值更改結果

如果其中一個滑塊值發生更改而沒有再次觸摸分段控件,如何更新結果?

+0

爲什麼你會不會簡單地更新實際結果時滑動任何滑塊?在飛行計算!還發布一些你的代碼,以便我們可以看看它,也許只是編輯它! – trumpetlicks

回答

1

首先,爲滑塊改變值添加一個事件:

[mySlider addTarget:self 
      action:@selector(sliderValueChanged:) 
    forControlEvents:UIControlEventValueChanged]; 

你將要爲每個滑塊做到這一點。

在你sliderValueChanged:功能:

- (void)sliderValueChanged:(id)sender { 
    [self calculateResult]; 
} 

calculateResult你可以做你的計算和設置您的結果框。

如果你需要確保你的分段控制在一些國家第一,只需添加一個if子句sliderValueChanged:

- (void)sliderValueChanged:(id)sender { 
    if ([mySegmentedControl selectedSegmentIndex] == 1) { 
     [self calculateResult]; 
    } 
} 
+0

謝謝!我想出了一些根據你的建議起作用的東西。 – user1452710

0

我想出了利用mopsled's answer奏效:

if (UIControlEventValueChanged && mySeg.selectedSegmentIndex == 0) { 
    float floatResult = [f3.text floatValue]-[f2.text floatValue]; 
    float coldFactor = [fcold.text floatValue]*floatResult; 
    float result = [f1.text floatValue]+coldFactor; 

    NSString *tpResult = [[NSString alloc] initWithFormat:@"%.0f",result]; 
    f4Result.text = tpResult;    
}