プロジェクトで iCarousel を使用しています。シリンダーホイールをスクロールしながら、タイマーを設定する方法はありますか。ホイールを 5 秒間回転させ続ける必要があります。それまでスクロール アニメーションが必要です。
1 に答える
iCarouselのドキュメントを注意深く読むと、iCarousel が 1 つのインデックスから別のインデックスに移動するのにかかる時間を含む特定のメソッドがあることがわかります。
- (void)scrollToItemAtIndex:(NSInteger)index duration:(NSTimeInterval)scrollDuration;
このメソッドを使用すると、カルーセルが指定したインデックスまでスクロールするのにかかる時間を制御できます。
- (void)scrollByNumberOfItems:(NSInteger)itemCount duration:(NSTimeInterval)duration;
このメソッドを使用すると、カルーセル アイテムの幅で測定された固定距離だけカルーセルをスクロールできます。スクロールする方向に応じて、itemCount に正または負の値を指定できます。iCarousel は境界の問題を適切に処理するため、カルーセル内のアイテムの数よりも長い距離を指定すると、スクロールはカルーセルの最後に到達したときに固定されるか (ラッピングが無効になっている場合)、シームレスに折り返します。
- (void)scrollToOffset:(CGFloat)offset duration:(NSTimeInterval)duration;
これは scrollToItemAtIndex: と同じように機能しますが、分数オフセットまでスクロールできます。これは、非常に正確なアニメーション効果を実現したい場合に役立ちます。scrollToItemBoundary プロパティが YES に設定されている場合、このメソッドを呼び出した後、カルーセルは最も近いアイテム インデックスに自動的にスクロールします。とりあえず。
- (void)scrollByOffset:(CGFloat)offset duration:(NSTimeInterval)duration;
これは scrollByNumberOfItems: と同じように機能しますが、小数のアイテムでスクロールできます。これは、非常に正確なアニメーション効果を実現したい場合に役立ちます。scrollToItemBoundary プロパティが YES に設定されている場合、このメソッドを呼び出した後、カルーセルは自動的に最も近いアイテム インデックスにスクロールします。
これらの方法を確認してください。彼らが助けてくれることを願っています...