我想知道如何识别UISlider正在跟踪到最大值到最小值?例如,我的滑块最大值和最小值分别为1.0和0.0。我如何确定我的滑块是从0.0跟踪到1.0,反之亦然?
谢谢!
有一个名为value changed的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中将其值赋给滑动条的默认值。
.h
跟踪最后值
@property(nonatomic,assign) float lastValue;
m
在ViewDidLoad中监听uicontroleventvaluechange
[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;
}
可以监听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
}
}