ページングが有効になっている UIScrollView がありますが、場合によっては、ユーザーが次のページにスワイプしたり、前のページに戻ったりできないようにしたいと考えています。
たとえば、誰かが 10 の質問 (ページごとに 1 つの質問) でテストに合格したとしても、その人が現在のページで質問に回答しない限り、スクロールは機能しません。
また、スワイプして前のページに戻るのを防ぐこともできます。したがって、基本的に、方向ロックを使用したり、ユーザーの操作を一時的に無効にしたりすることはできません。これは、リーダーが左にスワイプすることは許可されているが、右にスワイプすることは許可されていないためです。
コンテンツ オフセットをいじっている人が何人かいることに気付きましたが、アプリがコンテンツ オフセットを自動的に再調整するだけなので、ユーザーはまだスワイプできるので、その解決策は見苦しいと思います。ビューがコンテンツの最後に達したか、ユーザーの操作が無効になったかのようにしたいと思います。
コンテンツのサイズ/オフセットを「再生」して各ページで更新できると思いますが、あるページから別のページにジャンプできる「リンク」もあるため、適切に行う方法がわかりません(その時点で定義されたコンテンツの範囲外になる可能性があります)。
特定の方向へのスワイプがロックされているページにカスタムビューを使用しようとしましたが、ページに影響を与えずにスクロールビューがスワイプを検出するのを防ぐ方法が見つからなかったため、機能しません。スワイプは通常の方法で機能するはずです. そのカスタム ビューの ExclusiveTouch プロパティを YES に設定できることを確認し、すべてのイベントを取得するので、カスタム ジェスチャ レコグナイザーを介してスワイプを処理し、スワイプが許可されている場合はイベントを転送し、許可されていない場合は無視できると想定しました。ScrollView は常にスワイプ イベントをキャッチします。
私はあらゆる可能性を使い果たしたと感じており、同様のニーズを持つ人を見つけることができません.
だから私は疑問に思っています、これは可能ですか?はいの場合、悪いハックが必要ですか、それとも新しいカスタムスクロールビューを作成する必要がありますか?
どんな助け/アイデアも大歓迎です。