グリッドビューで水平スクロールと垂直スクロールを同時に有効にするにはどうすればよいですか?
サムネイル画像の4x4グリッドがある場合、左/右と上/下の両方向にスワイプを実装したいと思います。現在、左右のスワイプは完了していますが、2番目のセルを選択して上にスワイプすると、2番目の行がルービックキューブのようにスクロールされます。
誰かアイデアがあれば共有してください。
グリッドビューで水平スクロールと垂直スクロールを同時に有効にするにはどうすればよいですか?
サムネイル画像の4x4グリッドがある場合、左/右と上/下の両方向にスワイプを実装したいと思います。現在、左右のスワイプは完了していますが、2番目のセルを選択して上にスワイプすると、2番目の行がルービックキューブのようにスクロールされます。
誰かアイデアがあれば共有してください。
あなたの質問からかなりの時間が経ちましたが、私は同じことで苦労しているので、将来の参考のためにそれに答えるつもりです...
悲しいことに、私はどこにも良い解決策を見つけることができなかったので、何時間もの実験の後、私はこれを思いつきました:https ://github.com/AlvinNutbeij/DWGridController
それはまだ進行中の作業ですが、私が言うあなたの目的のために非常に有用です!
現在、自分が持っているものをどのように実装しましたか?'cell'について言及すると、を使用しているように聞こえますUITableView
。これらのスクロールのいずれかを両方向にスクロールさせることはできません。を使用して作業する必要がありますUIScrollView
。
WWDC 2010の「スクロールビューを使用したアプリの設計」をご覧になり、次にWWDC2011の「高度なスクロールビューテクニック」をご覧になることをお勧めします。これにより、タイリングと無限スクロールを実装する方法について説明します。
基本的に、必要なのは、UITableViewがセルをリサイクルする方法と同じように機能する、ある種のビューのリサイクルを自分で実装することです。スクロールビューの片側からスクロールすると、画面からスクロールしたばかりのビューが削除され、キューに入れられます。画面上にスクロールすると、ビューをキューから引き出し(キューが空の場合は新しいビューを作成し)、それらのビューを正しい場所に配置します。
無限スクロールを行うには、それを偽造します。スクロールビューが端に近づいたら、その中のすべてを再配置し、スクロールビューのコンテンツオフセットをビューを再配置した場所に移動して、そこから続行します。これですべてです。ユーザーが気付かないように一度に実行されます。
ビデオは、私がここで要約できるよりもこれらのテクニックをよりよく説明します:あなたの最初の呼び出し点としてそれらを見てください。