在我的iOS应用程序(8.1)中。我有一个UISlider,其连续属性设置为YES(因为我需要动态更新标签)。
我的问题是我还需要发送选择的值并将其发送到服务器。所以在我的情况下,它现在一直都这样做。
我能以某种方式获得最后一个值吗?用户松开手指后的值?
非常感谢任何形式的帮助。
P.S。我在Stackoverflow上查看了很多解决方案,比如touchesBegan / ends,链接NIB中的事件,但到目前为止没有任何工作。
答案 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