[英]How to recognize the movement of the UISlider is from maximum to its minimum value and its Vice Versa?
我想知道如何识别UISlider正在跟踪从最大值到最小值? 例如,“我的滑块”的最大值和最小值为1.0和0.0。 如何确定滑块从0.0跟踪到1.0,反之亦然?
谢谢!
UISlider的一个事件名为值更改。 使用该事件并计算差异。 如果差为正,则其朝向最大值,否则朝向最小值。 请使用以下动作方法。
- (IBAction)sliderdidchanged:(UISlider *)sender {
if (sliderOldValue - sender.value > 0) {
NSLog(@"Value Decreasing");
}
else {
NSLog(@"Value Increasing");
}
sliderOldValue = sender.value;
}
不要忘记从xib或Storyboard中的UISlider对象引用此方法。 还要将sliderOldValue声明为实例变量,并在viewDidLoad中将其值分配给滑块的默认值。
您可以侦听ValueChanged控件事件
[slider_ addTarget:self action:@selector(sliderMove:) forControlEvents:UIControlEventValueChanged];
...
- (void) sliderMove:(UISlider*)slider
{
if (slider.value == slider.minimumValue) {
// etc...
}
else if (slider.value == slider.maximumValue) {
// so on and so forth
}
}
。H
跟踪最终值
@property(nonatomic,assign) float lastValue;
.M
在ViewDidLoad中侦听UIControlEventValueChanged
[yourSlider addTarget:self
action:@selector(mySliderValueChanged:)
forControlEvents:UIControlEventValueChanged];
定义方法
- (IBAction)mySliderValueChanged:(UISlider *)sender {
float currentValue = sender.value;
if (currentValue>self.lastValue) {
NSLog(@"moving Right");
}
else{
NSLog(@"moving Left");
}
self.lastValue = sender.value;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.