2013-09-27 21 views
31

Po przełączeniu z systemu iOS 6 na system iOS 7 zauważyłem, że za pomocą metody setValue:animated: nie animuje się już procesu przesuwania. Czy ktoś inny natknął się na ten problem i znalazł rozwiązanie?UISlider nie animuje się w iOS7

dodam tylko jakiś kod, aby pokazać mam nic skomplikowanego zrobić:

//Variable declaration 
IBOutlet UISlider *s; //Connected in the .xib 

//Button pressed 
- (IBAction)buttonPressed:(id)sender 
{ 
    [s setValue:1 animated:YES]; 
} 

I skacze prosto do 1 po naciśnięciu przycisku.

Odpowiedz

64

wstecz kompatybilne z iOS 4 roztworu/obejścia:

[UIView animateWithDuration:1.0 animations:^{ 
    [_sliderTest setValue:0.90 animated:YES]; 
}]; 

Wydaje się, że iOS 7 przyzwyczajenie animować chyba określić zarówno ten blok i animowane: TAK. Wydaje się, że iOS 6.0 ignoruje blok animacji i wykonuje własny blok wewnętrzny. Trochę dziwne. Podaj czas 2,0, aby zobaczyć animację iOS 7 dwa razy wolniej niż iOS 6 z tym samym kodem.

+0

Znaleźliśmy to rozwiązanie, zupełnie dziwne! Ale to jest droga! –

+1

Tak, nadal musisz to zrobić w iOS8. Niezależnie od tej metody nie działa. – Sid

+3

Nadal nie działa w systemie iOS 9. To obejście nadal działa. –

Powiązane problemy