2012-06-21 43 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 
} 

现在所有的工作。