gpt4 book ai didi

iphone - UISlider 返回两个 Touch Up Inside 事件,为什么会发生这种情况?

转载 作者:行者123 更新时间:2023-12-03 18:43:19 27 4
gpt4 key购买 nike

我有一个 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/

27 4 0