gpt4 book ai didi

ios - 意外的 UIPageViewController 行为

转载 作者:可可西里 更新时间:2023-11-01 03:58:18 25 4
gpt4 key购买 nike

我目前正在使用 UIPageViewController 构建一个应用程序。它按我的预期工作,直到它到达包含 UITextField 数量的最后一页。

但是当我点击 UITextField 的一个实例时,它突然无故跳转到上一页而不是显示键盘。当我滚动到最后一页并再次点击文本字段时,它运行良好,没有任何问题。

当它通过点击链接到最后一页并附加到 UIPageViewController 实例的导航按钮立即显示最后一页时也很好。

只有当我从第一个页面滚动到最后一个页面时才会出现此问题,并且在第一次尝试时只出现一次。

我怀疑是低内存问题,所以我在 UIPageViewController 实例和最后一个页面 View Controller 的 -didReceiveMemoryWarning 方法中设置了断点。但他们从未被调用。

第二次尝试是我在最后一个页面 View Controller 的 -willMoveToParentViewController: 方法中添加了一个断点,并将其条件设置为 parent == nil(当它从父 View Controller ,这是有问题的 UIPageViewController 实例)

当我运行应用程序时,断点的调用堆栈表明该方法由 UIPageViewController 的 -_flushViewController:animated: 调用。

我不知道为什么调用这个 -flushViewController:animated:。如果我能找出原因,它将帮助我解决问题。

有没有人可以帮助我?

最佳答案

我不确定在您的代码中执行此操作的是什么,但调试此操作的一种可能方法是 try catch UITextFieldUIKeyboardWillShowNotification 事件检查它是否正常发射。

同时尝试在页面的 viewWillAppear 事件中设置一个断点,以检查是否所有的 UITextField 都已正确实例化——我怀疑在那个点您点击了第一个文本字段,但并非所有文本字段都已实例化,这意味着接收点击操作的对象将是您的 UIPageViewController 而不是 UITextField

关于ios - 意外的 UIPageViewController 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18246444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com