0

xcode に同梱されているページベースのアプリケーションの例を使用して、アプリをビルドしました。ページ ビュー コントローラーは正常に動作しますが、次のような問題があります。

ページ データを表す各ビュー コントローラーにはいくつかのボタンがあり、それをクリックすると別のビュー コントローラーのビューに移動します。これを使用して、階層を表示するビューを追加します。

[self.view addSubview: self.articleViewController.view];

articleViewController内部にスクロールビューがあり、テキストデータを表示するだけです。問題は、ビューをスワイプして上下にスクロールすると、ビューコントローラーが最後のページに到達すると、このジェスチャーを取得して前/次のページに移動することです。これは私が望むものではありません。ページビューコントローラーからジェスチャーを受け取りませんarticleViewControllerが、スクロール自体のみを受け取ります。

うまくいけば、私は十分に説明しました..

でジェスチャを無効にするにはどうすればよいarticleViewControllerですか? 私はこの投稿を勉強しようとしました: UIPageViewController Gesture Recognizer ですが、私の問題を解決するためにそれを理解していません。

問題を説明するサンプル プロジェクト: https://dl.dropbox.com/u/43017476/PageTest.zip

4

1 に答える 1

0

あなたが同じ質問を引用したことは知っていますが、受け入れられた答えは好きではありません。同じ投稿の少し下にあるこの回答を確認してください。同じ問題があり、その回答のコードブロックを UIPageViewController の viewDidLoad の最後に追加すると、問題が修正されました。

基本的に何が起こっているかというと、UIPageViewController がすべてのタッチ イベントを消費しているため、UIPageViewController から特定の UIGestureRecognizers を削除して、それらに応答しないようにする必要があります。UITapGestureRecognizer を削除するだけなので、私が投稿した例よりも少しトリッキーかもしれませんが、基本的な概念は同じです。UIPageViewController が、上から下へのスワイプ ジェスチャではなく、右から左へのスワイプ ジェスチャでのみ次のページに進むことを確認する必要があります。

UISwipeGestureRecognizerDirectionのドキュメントを確認してください。

于 2013-03-26T18:21:19.757 に答える