滑块动画时更新标签上的滑块值

滑块动画时更新标签上的滑块值

问题描述:

我在我的应用中使用滑块。我已经完成了所有设置只有问题我面临的是我想要的滑块值不更新的标签。看看我的代码。 我有一个按钮,点击动画滑块。因为它在整个动画中显示0.0,所以我无法更新我的标签。 任何帮助将不胜感激。滑块动画时更新标签上的滑块值

- (IBAction)btnClicked:(id)sender 
{ 
[UIView animateWithDuration:10 animations:^{ 
     [self.slider setValue:0.0 animated:true]; 
    } completion:^(BOOL finished) { 
     [UIView animateWithDuration:10 animations:^{ 
      [self.slider setValue:100.0 animated:true]; 
     }]; 
    }]; 
} 
+0

您是否将滑块值设置为标签文本? – Bluewings

+0

你在哪里设置标签的文字? – Devster101

+0

是...在 - (IBAction为)sliderChanged:(ID)发送 { 如果(发件人== self.slider) { self.lblSliderValue.text = [的NSString stringWithFormat:@ “%0.0F”,自我。 slider.value]; } } 这只适用于当我手动移动滑块时@Bluewings – iDeveloper

您的代码不工作,因为你试图最大值设置为滑块,使其只不过是用动画设置最大值而已。试试我的代码,可能会帮助你。

更改btnClicked这个

- (IBAction)btnClicked:(id)sender { 
     [self.slider setValue:0 animated:true]; 
     [self setSliderValue:1]; 
} 

添加此setSliderValue方法

- (void)setSliderValue:(float)value { 
    [UIView animateWithDuration:0.2 animations:^{ 
    [self.slider setValue:value animated:true]; 
    } completion:^(BOOL finished) { 
     self.lblSliderValue.text = [NSString stringWithFormat:@"%0.0f", self.slider.value]; 
     if (self.slider.value != self.slider.maximumValue) { 
      [self setSliderValue:value+1]; 
     } 
    }]; 
} 

希望这会帮助你。

+1

您是否用我的代码替换了以前的btnClicked代码? –

+0

Thanx Buddy :)很好用:) – iDeveloper

尝试这样的:

- (IBAction)btnClicked:(id)sender 
{ 
      [self.slider setValue:0.0 animated:true]; 
[UIView animateWithDuration:10 animations:^{ 
[slider addTarget:self action:@selector(sliderChanged:) forControlEvents:UIControlEventValueChanged]; 

    } completion:^(BOOL finished) { 
     [UIView animateWithDuration:10 animations:^{ 
      //[self.slider setValue:100.0 animated:true]; 
     }]; 
    }]; 
} 

sliderChanged方法是这样的:

- (void)sliderChanged:(UISlider *)slider { 
    self.label.text = [NSString stringWithFormat:@"%0.2f", slider.value]; 
} 
+0

不工作伙伴:( – iDeveloper

+0

改变一件事把这条线[self.slider setValue:0.0 animated:true];上面的uiview动画块并删除此行[self.slider setValue:100.0 animated:true];从当前位置到[self.slider setValue:0.0 animated:true]; old position。 –

+0

@AjayGabani滑块已停止,它不工作:( – iDeveloper