Я использую UISlider в своем приложении, где я добавляю максимальное и минимальное изображение для слайдера. Все работает хорошо, но посмотрите на изображение ниже. Когда я нажимаю кнопку, начинается анимация, а значения смены метки изменяются, но анимация на слайдере напрямую переходит на 6, которую вы можете видеть, и то же самое происходит, когда ползунок достигает максимального значения (100) из 96 минимального изображения слайдера (оранжевый цвет) исчезает, и метка продолжает показывать значения 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];
}
}];
}
Вам нужно, чтобы заставить обновление компонента пользовательского интерфейса ... setNeedsDisplay – Dominic
@ Dominic, как я его устанавливаю и где! Можете ли вы разработать свое решение plz – iDeveloper
поместите это после того, как вы установите текст ... [self.lblSliderValue setNeedsDisplay] – Dominic