2013-09-27 87 views
31

當我從iOS 6切換到iOS 7設計時,我注意到使用方法setValue:animated:不再爲滑動過程設置動畫。有沒有人遇到過這個問題,並找到了解決方案?UISlider不在iOS7中動畫

我就添加一些代碼來證明我還沒有做什麼複雜:

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

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

後,我按下按鈕,跳轉直1。

回答

64

到iOS 4解決方案/解決方法向後兼容:

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

看來,iOS的7動畫不會,除非你同時指定此塊和動畫:是。 iOS 6.0似乎忽略了動畫塊並執行它自己的內部塊。有點奇怪。使用相同的代碼指定持續時間爲2.0來查看iOS 7動畫的速度是iOS 6的兩倍。

+0

也找到了這個解決方案,完全怪異!但那就是要走的路! –

+1

是的,你仍然需要在iOS8中做到這一點。獨立使用這兩種方法不起作用。 – Sid

+3

iOS 9中仍然存在問題。此解決方法仍然有效。 –