3

「プラス記号」パターンで交差する 2 つのスクロールビュー (1 つは垂直方向、もう 1 つは水平方向) があるとします。プラスの中心に 1 つのオブジェクト (たとえば、UIImageView) があるとします。オブジェクトに触れて上にスクロールすると、垂直スクロールビューでオブジェクトが上にスクロールするようにします。ただし、オブジェクトに触れて横にスクロールする場合は、水平スクロールビュー内でスクロールする必要があります。

問題:

  1. オブジェクトが最初にあるスクロールビューはどれですか? それともどちらにもありませんか?どのスクロールビューがスクロールを開始したかを検出するまで、オブジェクトがどのスクロールビューにあるかはわかりません。

  2. 垂直スクロールビューが上にある場合、水平スクロールビューは、スクロールビューが重なる中央領域でタッチを受け取りません。

誰でもこの問題の解決策を考えられますか? (デザインの変更は解決にはなりません)

別の考え方としては、100x100 グリッドのタイルがありますが、一度に画面に表示できるのは 10x10 グリッドだけです。各行を横にスクロールできるようにする必要がありますが、各列を垂直にもスクロールできるようにする必要があります。明らかに、スクロール位置は、新しいタッチ/スクロールが始まる前に、タイル サイズの最も近い倍数にロックする必要があります。ただし、任意の時点で任意のタイルが水平または垂直のいずれかのスクロールビューにある可能性があることを意味します。

4

1 に答える 1

0

物理的に(単一の) スクロール ビュー ( を使用) を使用しますdirectionLockEnabled = YESが、実際にはそれをタイルのスーパービューにしないでください。

この手法の詳細については、WWDC2012 のビデオ「スクロール ビューによるユーザー エクスペリエンスの向上」を参照してください。

于 2013-10-10T08:16:50.120 に答える