我在我的应用程序中使用UISlider,我添加滑块的最大和最小图像。每件事情都很好,但请看下面的图片。当我点击按钮时,动画开始,标签上的值发生变化,但滑块上的动画直接跳到6,您可以看到它,当滑块达到最大值(100)时,会发生同样的情况,滑块最小图像(橙色颜色)消失,标签继续显示值97..98..99..100。 UISlider不想要的行为,同时动画
下面是引用的代码片段:
- (void)viewDidLoad
{
[super viewDidLoad];
UIImage *sliderMinimum = [[UIImage imageNamed:@"slider_max"] stretchableImageWithLeftCapWidth:14 topCapHeight:0];
[self.slider setMinimumTrackImage:sliderMinimum forState:UIControlStateNormal];
UIImage *sliderMaximum = [[UIImage imageNamed:@"slider_min"] stretchableImageWithLeftCapWidth:14 topCapHeight:0];
[self.slider setMaximumTrackImage:sliderMaximum forState:UIControlStateNormal];
}
- (IBAction)btnClicked:(id)sender
{
[self.slider setValue:0 animated:true];
[self setSliderValue:2];
}
- (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];
}
}];
}
您需要强制刷新UI组件... setNeedsDisplay – Dominic
@Dominic我如何设置它,并在哪里!你可以详细说明你的解决方案plz – iDeveloper
把这个设置后,你可以设置文本... [self.lblSliderValue setNeedsDisplay] – Dominic