私は現在、を使用してアプリを構築していUIPageViewController
ます。UITextField の数を含む最後のページに到達するまで、期待どおりに機能しています。
しかし、UITextField のインスタンスの 1 つをタップすると、キーボードが表示される代わりに、理由もなく突然前のページにジャンプします。最後のページまでスクロールしてテキスト フィールドをもう一度タップすると、問題なく動作します。
また、最後のページにリンクし、UIPageViewController インスタンスにアタッチされているナビゲーション ボタンをタップして、すぐに最後のページを表示しても問題ありません。
この問題は、ページを最初から最後までスクロールしたときにのみ発生し、最初の試行で 1 回だけ発生します。
メモリ不足の問題が疑われたためdidReceiveMemoryWarning
、UIPageViewController インスタンスと最後のページ ビュー コントローラーの両方のメソッドにブレークポイントを設定しました。しかし、彼らは決して呼ばれませんでした。
2番目の試行は、最後のページビューコントローラーの-willMoveToParentViewController:
メソッドにブレークポイントを追加し、その条件をに設定することですparent == nil
(問題のUIPageViewControllerインスタンスである親ビューコントローラーから削除されたとき)
アプリを実行すると、ブレークポイントのコール スタックは、メソッドが UIPageViewController によって呼び出されたことを示しています-_flushViewController:animated:
。
この -flushViewController:animated: が呼び出される理由がわかりません。原因が分かれば、問題の解決に役立ちます。
私を助けてくれる人はいますか?