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

标签 iphone cocoa-touch uislider

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

相关文章:

iphone - 如果按下 subview 的按钮如何取消 UIGestureRecognizer

objective-c - 检测 UISlider 上的触摸?

iphone - 如何计算具有已知起始速度和距离的 UIViewAnimationCurveEaseOut 动画的持续时间?

ios - 带有换行符的字符串 ios7

ios - ABAddressBookCopyPeopleWithName 在模拟器上返回空数组

iphone - 字符串 2012-11-09T00 :00:00 to short Form of date in iphone

iOS - UISlider 在第一次触摸时跳转

jQuery 范围 slider - 获取表单提交时的范围值?

iphone - 苹果推送通知连接问题 - 键值不匹配检查私钥消息

iPhone 模拟器和 UITextField 的 "DONE"键盘按钮