Ответ 1
Да, это ошибка. Чтобы избежать этого, не создавая фиктивный образ, используйте этот код.
[s setThumbImage:s.currentThumbImage forState:UIControlStateNormal];
s.thumbTintColor = UIColor.redColor;
Я пытаюсь изменить цвет большого пальца на моем UISlider - так или иначе, он всегда остается белым. Изменение цвета самой панели, кажется, работает достаточно хорошо.
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.redSlider.thumbTintColor = [UIColor redColor];
}
Я что-то пропустил?
Я также нашел этот вопрос здесь, что указывает, что это может быть ошибка - любая идея?
Да, это ошибка. Чтобы избежать этого, не создавая фиктивный образ, используйте этот код.
[s setThumbImage:s.currentThumbImage forState:UIControlStateNormal];
s.thumbTintColor = UIColor.redColor;
Вы настроили что-нибудь об этом в xib/раскадровке?
Если да вместо изменения в viewDidLoad, попробуйте установить цвет в
- (void)viewDidLayoutSubviews
Если это работает, это потому, что он вызывается после загрузки значений из раскадровки, где ранее вызывается viewDidLoad.