Rin*_*ash 6 objective-c ios uipageviewcontroller
我正在使用构建应用程序UIPageViewController.它正如我预期的那样工作,直到它到达包含UITextField数量的最后一页.
但当我点击UITextField的一个实例时,它突然跳转到上一页而没有任何理由而不是显示键盘.当我滚动到最后一页并再次点击文本字段时,它运行良好没有任何问题.
通过点击链接到最后一页并附加到UIPageViewController实例的导航按钮,它立即显示最后一页也很好.
只有当我从第一个页面滚动到最后一个页面时才会出现此问题,并且在第一次尝试时仅发生一次.
我怀疑内存不足问题,所以我在didReceiveMemoryWarningUIPageViewController实例和最后一个页面视图控制器的方法中设置了断点.但他们从未被召唤过.
第二个尝试是我在最后一个页面视图控制器的-willMoveToParentViewController:方法中添加了一个断点并将其条件设置为parent == nil(当它从父视图控制器中删除时,这是有问题的UIPageViewController实例)
当我运行应用程序时,断点的调用堆栈表示该方法由UIPageViewController调用-_flushViewController:animated:.
我不知道为什么这个-flushViewController:animated:被调用.如果我能找出原因,它将帮助我解决问题.
有没有人可以帮助我?
我不确定您的代码中是什么执行此操作,但调试此问题的一种可能方法是尝试捕获 的UITextField事件UIKeyboardWillShowNotification以检查它是否正确触发。
还尝试在页面的viewWillAppear事件中设置一个断点,以检查所有 s 是否UITextField已正确实例化 - 我怀疑在您点击第一个文本字段时,并非所有 s 都已实例化,这意味着接收的对象点击操作将由您执行,UIPageViewController而不是UITextField。