我有一个 slider ,用于在某处设置浮点值。我将 Value Changed 连接到 viewController 中的方法。这部分工作正常。
我需要知道用户何时开始触摸控件,但不一定是 slider 更改的每个瞬间(我为此收到了 Value Changed 事件)。因此,我将 Touch Up Inside 事件连接到 viewController 中的另一个方法。
问题在于,当用户触摸 UISlider 控件时,该方法会被调用两次。搞什么?对于UIButtons或其他触摸事件(例如Touch Down)来说,这种方式不起作用。
我认为我可以解决这个问题,但这似乎是 slider 控件处理触摸方式的一个错误。有谁知道为什么会这样吗?
顺便说一句:即使内部触摸是唯一连接的事件,双触摸事件也会发生。
最佳答案
这样就不会因 future 的更新而中断
[customSlider addTarget:self action:@selector(sliderDown:) forControlEvents:UIControlEventTouchDown];
[customSlider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventTouchUpInside];
- (void)sliderDown:(id)sender
{
sliderused = NO;
}
- (void)sliderAction:(id)sender
{
if(sliderused){
return;
}
sliderused = YES;
//Your Code Here
}
关于iphone - UISlider 返回两个 Touch Up Inside 事件,为什么会发生这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1063158/