2011-04-07 103 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