UISlider在iOS7中没有动画
Posted
技术标签:
【中文标题】UISlider在iOS7中没有动画【英文标题】:UISlider not animating in iOS7 【发布时间】:2013-09-27 16:22:10 【问题描述】:当我从 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。
【问题讨论】:
【参考方案1】:向后兼容 iOS 4 解决方案/解决方法:
[UIView animateWithDuration:1.0 animations:^
[_sliderTest setValue:0.90 animated:YES];
];
iOS 7 似乎不会动画,除非您同时指定此块和动画:YES。 iOS 6.0 似乎忽略了动画块并执行了自己的内部块。有点奇怪。将持续时间指定为 2.0 可以看到 iOS 7 的动画速度是 iOS 6 的两倍,但代码相同。
【讨论】:
也找到了这个解决方案,太奇怪了!但这就是要走的路! 是的,您仍然需要在 iOS8 中执行此操作。单独使用任何一种方法都行不通。 而且,在 iOS 10 中仍然损坏。解决方法仍然有效。以上是关于UISlider在iOS7中没有动画的主要内容,如果未能解决你的问题,请参考以下文章
UISlider 最小和最大轨道色调清除颜色 iOS 7.1 错误
在没有 Timer 的情况下播放核心动画时如何自动更新 UISlider 的值