1

画面の約半分を占める( IntroPages) 内にUIPageViewController (それを呼び出すことができます) があります。内でスクロール可能にしたい 4 つのページがあります。、、およびのすべては、独自のニブで個別に実装されています。、フォームがある間は静的です(3 つの販売ページと、たとえばサインアップするためのフォームを想像してください)。ユーザーは簡単に、、およびリーチをスワイプできますが、ユーザーがテキストフィールドをタップすると( と呼びましょう)、完全に消えて表示され始めますUIViewControllerIntroViewIntroPagesABCDABCDUIViewControllersABCDABCDDfirstNameDIntroPagesIntroPagesC例外でも何でもなく。この時点で、ユーザーは からCDもう一度スワイプできますが、今回はD問題なく動作します。

追加情報:

  1. のデリゲートはfirstNameですD
  2. NO を返すと-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField D、最初から消えませんが、キーボードが表示されず、キーボードを表示する必要があります。
  3. IntroViewまた、 (UIViewControllerを含むUIPageViewController)をデリゲートにしようとしましfirstNameたが、それも機能しませんでした。つまり、同じ問題が発生しました。
  4. ARCを使用しています

私の最初の考えは、それDが何らかの形でリリースされているということでしたが、そうではありません。-dealloc関数を作成し、そこにブレークポイントを配置しましたが、 Dが呼び出されるD前に D が消えてしまいます。-dealloc実際には、ユーザーがから2 回目に-deallocスワイプしたときにのみ が呼び出されます。これは、D の 2 番目のインスタンスが提供されたときに、D の最初のインスタンスの割り当てを解除していることを示しています。CDUIPageViewController

4

0 に答える 0