3 つのナビゲーション コントローラーを備えたルート ページ ビュー コントローラーがあり、それぞれが最初にメイン テーブルを備えたビュー コントローラーに移動します。ユーザーがテーブルをクリックすると、プッシュが別の VC (詳細テーブル付き) に移動するセグエがあります。
遷移スタイルはスクロールです。
それはうまくいきます。しかし、次の効果があります。ページのスクロールはどこでも機能します。ユーザーがテーブルvcにいる場合にのみ、ページ間をスクロールする必要があります。詳細テーブル vc を左にスワイプすると、メイン テーブル vc に戻るのではなく、前のナビゲーション コントローラーに移動します。
説明されている動作を修正するにはどうすればよいですか? X コード 5、iOS 7
Upd: メソッドの前/後にデータソースで nil を返すことでページ遷移を防ぐことができますが、画面にスクロールが表示されたままです。
2 つの方法でデータソースを nil に設定してスクロールを無効にしようとしたとき: 1) pageViewController:didFinishAnimating) で例外があります: キャッチされていない例外 'NSInternalInconsistencyException' によるアプリの終了、理由: '無効なパラメーターが満たされていない: [views count] = = 3' 2) willAppear /willDisapper のメイン テーブル vc にあり、例外があります: キャッチされない例外 'NSGenericException' が原因でアプリを終了しています。
Upd 2: 私のプロジェクトへのリンク: http://yadi.sk/d/MWmdA3XLCdn4U . 「ダウンロード」画像のある青いボタンを押してファイルを取得するか、ページの下部にある言語スイッチャーを使用します。
Upd 3: デビッドに感謝します。彼のソリューションは機能しています。さらに、ストーリーボードの DetailTable VC に Pan GR を配置し、それをビューにリンクするだけです。コードは一切必要ありません。