2つの水平スクロールバーがあります。上部のスクロールバーの内容は静的ですが、下部のスクロールバーの内容は動的であり、上部のスクロールバーでのアイテムの選択に依存します。
現在、選択はクリックによる通常の選択ではなく、その特定のアイテムがスクロールバーの上のそのポインタの下にあるときに選択が発生します。上部のスクロールバーの内容は静的な選択であるため、その下にあるアイテムを識別できるため、問題はありません。スクロールビューデリゲートメソッドscrollViewDidEndDecelerating
&の助けを借りて取得できるオフセットの助けを借りてポインタscrollViewDidEndDragging
。
問題は、コンテンツが動的である下部スクロールバーにあります。そのため、どのアイテムがポインターの下にあるかを識別できません。さらに処理するのは、 2番目のスクロールバーの項目。誰かがそれを行う方法についてアイデアを持っているなら私を助けてください。
質問する
507 次
1 に答える
0
「動的」と言うときの意味がよくわかりません。2 番目の下のスクロールバーには、頻繁に変更されるコンテンツがあります。したがって、その scrollView にデータを入力するときは、変更可能なコンテナーを使用して、何がどこにあるかを追跡する必要があります。
たとえば、水平アイテムごとに NSRange を作成し (つまり、位置は 0、長さは 100、位置は 100、長さは 50)、それを NSValue に変換し、この NSValue をキーとして保存し、その場所に「オブジェクト」を保存します。変更可能な辞書で。ポインターの下にあるもの (x=160 など) を知る必要がある場合は、その値を下部の scrollView contentOffset (200 など) に追加し、問題のオフセットとして 260 を取得してから、辞書を反復処理して探します範囲 260 を含むアイテム。
于 2012-08-24T11:47:22.533 に答える