iOS:在用户释放手指后获取UISlider的最终值

时间:2014-11-03 22:34:32

标签: ios uislider

在我的iOS应用程序(8.1)中。我有一个UISlider,其连续属性设置为YES(因为我需要动态更新标签)。

我的问题是我还需要发送选择的值并将其发送到服务器。所以在我的情况下,它现在一直都这样做。

我能以某种方式获得最后一个值吗?用户松开手指后的值?

非常感谢任何形式的帮助。

P.S。我在Stackoverflow上查看了很多解决方案,比如touchesBegan / ends,链接NIB中的事件,但到目前为止没有任何工作。

3 个答案:

答案 0 :(得分:10)

Yu可以将多个动作连接到单个控件,包括滑块。除了“值已更改”之外,还要创建另一个连接到“内部触摸”的方法,并在该方法中获取滑块的值。

- (IBAction)dragged:(UISlider *)sender { // value changed
    NSLog(@"here");
    // update labels continuously here
}


- (IBAction)endedDragging:(UISlider *)sender { // touch up inside
    NSLog(@"value is %f",sender.value);
    //grab the final value here
}

答案 1 :(得分:6)

添加IBAction以收听ValueChanged事件并取消选中UISlider" Continuous Updates"来自故事板的财产。

答案 2 :(得分:0)

我在项目中使用了以下方法:

slide.isContinuous = false

您可以查看NSSlider和UISlider的文档,这里有更多信息:https://developer.apple.com/documentation/uikit/uislider/1621340-iscontinuous