我正在尝试在更改值时减慢UISlider的动画速度。
到目前为止,我已经尝试了旧的UIView动画方法:
[UIView beginAnimations:@"slider" context:nil];
[UIView setAnimationDuration:5.0];
[self.slider setValue:2 animated:YES];
[UIView commitAnimations];
基于新块的方法:
[UIView animateWithDuration:5.0
animations:^{
[self.slider setValue:2 animated:YES];
}];
我尝试使用和不设置animated:YES
值。在所有情况下,滑块只是以默认速度动画。
我应该考虑另一种策略来定制动画的速度吗?
我应该滑动子类并覆盖那里的任何东西吗?
答案 0 :(得分:1)
查看OBSlider,这是一个UISlider子类,具有可变擦洗速度(如iOS上的iPod应用程序中所示)Ole Begemann。我并不是说它正是你想要的,但你可以看到自the code is hosted at GitHub以来它是如何实现的。基本上,它是子类UISlider
并覆盖了触摸跟踪方法:
beginTrackingWithTouch:withEvent:
continueTrackingWithTouch:withEvent:
endTrackingWithTouch:withEvent: