2011-04-07 104 views
0

有人能告訴我爲什麼每次釋放滑塊時,switcstatement都會觸發兩次。switchstatement觸發兩次

- (IBAction) sliderValueChanged:(UISlider *)sender { 

letters.text = [NSString stringWithFormat:@"%d",(int)[(UISlider *)sender value]]; 

} 

- (IBAction) getValueSlider:(id)sender { 

int n = [letters.text intValue]; 
switch (n) {  
    case 2: 
     NSLog(@"%i",n); 
     break; 
    case 3: 
     NSLog(@"%i",n); 
     break; 
    case 4: 
     NSLog(@"%i",n); 
     break; 
    case 5: 
     NSLog(@"%i",n); 
     break; 
    case 6: 
     NSLog(@"%i",n); 
     break; 
    default: 
     break;   
    } 

} 

其設置爲「touchUpInside」和「valuechange」。

回答

0

其設置爲「touchUpInside」和「valuechange」。

你的IBAction觸發兩個事件,這兩個事件都會在滑塊值發生變化時發生。

+0

你能不能精心製作... 爲什麼會在價值變化的內部觸動內幕...? – Martin 2011-04-07 20:26:51

+0

它不會,但當touchUpInside時觸發一次,值改變時觸發一次。 – kubi 2011-04-07 23:54:11

+0

不知道爲什麼它這樣做,因爲畢竟有一種方法。 如果我在事件中做了很多事情,它發生兩次,那對應用程序的速度不利。如果我想比較兩個值並根據某些東西改變其中的一個值......第二次消防不會做它應該做的事情,因爲第一次事件發生時已經改變了值。很奇怪...... – Martin 2011-04-08 07:40:05