31

当我从 iOS 6 切换到 iOS 7 设计时,我注意到使用该方法setValue:animated:不再为滑动过程设置动画。有没有其他人遇到过这个问题并找到了解决方案?

我将添加一些代码以表明我没有做任何复杂的事情:

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

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

我按下按钮后它直接跳到1。

4

1 回答 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 的两倍。

于 2013-09-27T18:19:50.917 回答