2012-08-13 61 views
0

我在UISlider中有4個值。我想,當滑塊值的變化應該顯示以下值UISlider更改iPhone中的值

if (slider.value==0) 
    { 
     label.text="5"; 
    } 
    else if(slider.value==1) 
    { 
     label.text="10" 
    } 
    else 
    { 
     label.text="15"; 
    } 

回答

2

您需要創建到UISlider的價值Interface Builder中改變事件的連接。您可以實現的方法,如:

- (IBAction)sliderValueChanged:(UISlider *)slider { 
    if (slider.value < 1) { 
     self.label.text = @"5"; 
    } 
    else if (slider.value < 2) { 
     self.label.text = @"10"; 
    } 
    else { 
     self.label.text = @"15"; 
    } 
} 

如果您希望通過編程掛鉤的情況下,你可以使用:

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

注意,滑塊會報告有小數位的值,所以你值等於整數的情況很少見。將邏輯改爲使用如上所示的小於檢查。

+0

是的,我有這樣做如何顯示值 – user1567956 2012-08-13 08:20:37

+0

是的,我做這樣的卻是露出alwyas else條件 – user1567956 2012-08-13 08:22:53

+0

我已經編輯回答。希望這會有所幫助! – 2012-08-13 08:32:01

1
if (slider.value == 0) { 

if (slider.value == 1) { 

是錯的 - 你不能比較使用==浮點數(和=!)經營者 - 因爲他們不是精確值。你應該做這樣的事情:

if (slider.value < 0.001) { 

if (slider.value > 0.999) { 
+0

<= and > =? – Nitish 2012-08-13 09:36:46

+0

@Nitish也很好(因爲它包括< and >的可能性),但寫出來的時間更長。 – 2012-08-13 09:43:38