1

値を変更するときに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。いずれの場合も、スライダーはデフォルトの速度でアニメーション化するだけです。

アニメーションの速度をカスタマイズするために私が見なければならない別の戦術はありますか?

スライダーをサブクラス化して、そこにあるものをオーバーライドする必要がありますか?

4

1 に答える 1

1

Ole Begemannによる (iOS の iPod アプリで見られるように) スクラブ速度が可変の UISlider サブクラスであるOBSliderを確認してください。それがまさにあなたが望むものであると言っているわけではありませんが、コードは GitHub でホストされているため、どのように実装されているかを見ることができます。基本的に、タッチ トラッキング メソッドをサブクラス化し、オーバーライドします。UISlider

  • beginTrackingWithTouch:withEvent:
  • continueTrackingWithTouch:withEvent:
  • endTrackingWithTouch:withEvent:
于 2011-06-10T20:43:49.613 に答える