範囲を選択するための2つのハンドルを持つuisliderを作成できるかどうかを尋ねました。ここのように:
私が直面している問題は、カスタムUIControlサブクラスを使用したくないということです。コードの多くはUISlider固有のプロパティなどに基づいているため、この問題にはUISliderサブクラスまたは他のソリューションが必要です。これを実現する可能性はありますか?
UISliderは必要な機能を提供しておらず、UISliderのサブクラス化はおそらく機能しません。value
そのようなコントロールはどうなるでしょうか?スライダーの値は数値ですが、範囲にする必要があります。必要なUISliderプロパティを複製するカスタムコントロールについて考えてみます。
サブクラス化することはできますがUISlider
、非常に困難になります。あなたのクラスはかなりの数の新しいプロパティを提供する必要があり、古いものはまったく意味がありません。
コードが特定のものにどのように基づいているかわからないUISlider
-すべてが意味を変える(つまり、1つの値ではなく範囲)ため。
本当に共通の基本クラスが必要な場合は、コントロールをカスタムクラスにカプセル化(「has-a」関係)して、これにさまざまなタイプを処理させることができます。
カスタムビューを使用して同様のコントロールを実装しましたが、たまたま非常に簡単でした。