2012-06-21 36 views
1

我已經鏈接我的UISlider兩種方法 - 觸摸內部和價值改變。第一個拖動完成後更新,第二個拖動時更新。當我用滑塊在屏幕上拖動「長」距離時,一切都很好。當我一步一步地拖動,Value Changed正常工作,但Touch Up Inside不會......任何人都會遇到同樣的事情?觸摸內部不與UISlider工作

+0

http://stackoverflow.com/questions/1063158/uislider-returns-two-touch-up-inside-events-why-does-that-happen – Mani

+0

區別在於 - 他收到兩個事件,我收到NONE: ( 另外,這個問題還沒有解決...... – Michal

回答

2

問題出在手勢識別器。當我實現了在滑塊上識別「tap」的方法,以便使滑塊快速移動到那個位置而不需要在那裏碎片時,我忘記用if-else語句將它與內部接觸分開。

UISlider* s = (UISlider*)gestureRecognizer.view; 
if (s.highlighted) { 
    switch (s.tag) { 
     case 1: 
      [_cpuStepper setValue:[s value]]; 
      break; 
     case 2: 
      [_ramStepper setValue:[s value]]; 
      break; 
     case 3: 
      [_hddStepper setValue:[s value]]; 
      break; 
     default: 
      break; 
    } 
    [self updatePrice]; 
    return; // on thumb 
} 

現在所有的工作。