私は iPhone アプリケーション (Web アプリではありません) に取り組んでおり、ユーザーに価格帯を示すように求めるフォームを作成したいと考えています。2 つのテキスト フィールドを使用する代わりに、ダブル スライダーを使用して最低価格と最高価格を設定したいと思います。シンプルなスライダー(サウンドコントロールなど)を使用できることは知っていますが、ダブルスライダーを見たことはありません。誰でも助けることができますか?
3 に答える
カスタム コントロールを作成しない限り、これは不可能です。UIControl または UIView から継承し、カスタム drawRect メソッドを提供する必要があります。また、タッチおよびドラッグ イベントに応答して、コントロールの状態を更新する必要があります。私はこれを自分で行ったことはありませんが、すべてが期待どおりに応答して表示されるようにするために、かなりの量の作業を行う準備ができています。
1 つのスライダーで両方の値を指定する必要があるのはなぜですか? 2 つのスライダーを横に並べたり、重ねたりして使用してみませんか? ダブル スライダー以上の入力ステップは必要なく、標準の UI ガイドラインにより準拠します。
UISlider をサブクラス化すると、1 つのスライダーに複数のつまみを指定できると思います。少なくとも、MacOSX では可能だったことを漠然と覚えています。しかし、Code Addict の言うとおりです。おそらく、標準のコントロールを使用したほうがよいでしょう。ダブルサム スライダーをタッチスクリーン環境で扱うのはかなり難しいようです。
このようなコントロールを作成して GitHub に追加しましたので、お気軽にご覧ください。コントロールが気に入った場合は、それを拡張して貢献してください。
GitHub ページ: http://github.com/doukasd/DoubleSlider
ブログ投稿 (仕組みのビデオを表示): http://dev.doukasd.com/2010/08/double-slider/