私は進行状況をアニメーション化するために単純な UISlider を設定しています:
[UIView animateWithDuration:songLength
delay:0.0
options:UIViewAnimationOptionRepeat|
UIViewAnimationOptionAllowUserInteraction|
UIViewAnimationOptionBeginFromCurrentState
animations:^{
[UIView setAnimationDuration:10.0];
[myUISlider setValue:10.0];
} completion:nil
];
[UIView commitAnimations];
ユーザーがボタンを押すと、その場所でアニメーションを停止したい。
値を把握するためにプレゼンテーション レイヤーにクエリを実行する必要があることは理解していますが、プレゼンテーション レイヤーのタイプは CALayer であり、UISlider ではありません。したがって、画面上の x/y 位置のようなレイヤー プロパティがありますが、スライダー自体の値はありません。
設計上、プレゼンテーション レイヤーがレイヤーの現在のすべてのアニメーション データにアクセスできることは理にかなっていますが、コードでそれを処理する方法がわかりません。
何か案は?