1

タイムラインの現在の進行状況に関する詳細を表示するという利点がある大きな親指 UISlider を作成しようとしています。

スライダーが移動している間、ユーザーのドラッグまたはタイマーに従って、スライダーに情報が表示されます

ただし、親指を左端から開始して右端に到達させるには、大きな問題があります (UISlider のサブクラス化でも)。親指がUISliderのフレームサイズから出られないようです。サブクラス化と実装を試みました

- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value
    CGRect result = [super thumbRectForBounds:bounds trackRect:rect value:value];
    result = CGRectOffset(result, -100, -125);
    return result;
}

このように動作しますが、この例 (負の x オフセットなど) では、スライダーはトラックの約半分で右に停止します。このメソッドを実装する正しい方法は、トラックの値に依存する動的 x オフセットを使用することだと思います。

大きな穴や、スライダーに続くカスタム画像ビューなどを必要としない簡単な方法を見逃していないことを確認したかっただけです.

何か案が?

ありがとう

4

1 に答える 1

0

いいえにclipsToBounds:設定していますか?約 18 か月前にプロジェクトでこれを行う必要があったことを覚えていますが、フィードバックのたびに大量のカスタマイズが発生するため、UIViews と UIPanGestureRecognizer を使用して独自のスライダーを作成しました。作業は増えますが、カスタマイズははるかに簡単です。

于 2013-06-03T12:54:26.767 に答える