我在我的應用程序中使用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