2013-09-27 9 views
14

Próbuję zmienić kolor kciuka na moim UISlider - jednak zawsze pozostaje biały. Zmiana koloru samego paska wydaje się działać całkiem dobrze.iOS 7 - UISlider thumbTIntColor nie zmienia

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    self.redSlider.thumbTintColor = [UIColor redColor]; 
} 

Czy coś tu brakuje?

Tutaj również znalazłem this Question, co oznacza, że ​​może to być błąd - jakiś pomysł?

+0

zobaczyć http://stackoverflow.com/questions/18983726/uislider-thumbtintcolor-doesnt-change-on-ios-7-fine-on-ios-6 również –

Odpowiedz

1

Czy ustawiłeś coś na ten temat w Xib/storybooku?

Jeśli tak zamiast zmiana go do viewDidLoad, spróbuj ustawić kolor na

- (void)viewDidLayoutSubviews 

Jeśli działa, to dlatego, że to się nazywa po wartości ładowania z serii ujęć, gdzie viewDidLoad nazywa wcześniej.

+0

ten nie działa, spróbuj siebie, nie istnieje na to rozwiązanie. To się po prostu nie zmieni! –

+1

Naprawiono w tym momencie mój projekt, przepraszam, jeśli to nie działa. – Atheryl

8

Tak, to błąd. Aby uniknąć bez przygotowania obrazka, użyj tego kodu.

[s setThumbImage:s.currentThumbImage forState:UIControlStateNormal]; 
s.thumbTintColor = UIColor.redColor; 
+1

Chociaż ten hack działa, zmienia obraz kciuka, aby uzyskać efekt 3D, taki jak stary styl iOS 6. iOS 7 powinien mieć płaski styl. – Pwner

+0

To podejście nie działa w moim scenariuszu (w React Native). Jeśli ustawię 'setThumbImage' na rzeczywisty obraz w moim' Images.xcassets', to działa. Czy istnieje alternatywa dla 's.currentThumbImage'? – vitch