ホーム>source

私はページが水平に配置されているページビューコントローラーを持っています-横にスワイプしてページを切り替えます。各ページには、縦軸(上下)にスクロール可能なテーブルビューが含まれています。

画面全体でページビューコントローラーをナビゲートでき、テーブルビューはテーブルビュー領域内でのみナビゲートできます。

テーブルビューを左にスワイプすると、ページは予想どおりに切り替わります。 左にスワイプしようとしたが、上/下として認識された場合-テーブルビューはアニメーションを開始し(デフォルトのアニメーション)、1秒ほどで停止します。問題は、アニメーションがアクティブな間、左/右にスワイプしてページを切り替えることができないことです。そうした場合、スワイプは常に上/下として認識され、アニメーションが終了するまで待ってから再度スワイプする必要があります。

この動作を解決するには、どのオプションが必要ですか?

あなたの答え
  • 解決した方法 # 1

    この問題は、ジェスチャレコグナイザデリゲートメソッドを実装することで解決できます。

    <前>ウィズウィズ

    上記のメソッドを実装するには、viewcontrollerクラスがUIGestureRecognizerDelegateを実装する必要があります。

    あなたは単にこのようなプロトコルに準拠することができます

    <前>ウィズウィズ

    そして、あなたのジェスチャーにデリゲートクラスを割り当てることを忘れないでください。

    <前>ウィズウィズ func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool { return true }

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ Rでいくつかの変数のペアを組み合わせるための分割表の作成方法は?