gpt4 book ai didi

ios - UIPageViewController 在滚动过去的页面时崩溃

转载 作者:行者123 更新时间:2023-12-01 22:09:44 25 4
gpt4 key购买 nike

在我的应用程序中,我使用 UIPageViewController (PVC) 以及 UIPageViewControllerTransitionStylePageCurl 过渡样式和 UIPageViewControllerSpineLocationMid 旋转位置。所以 PVC 一次显示两个页面。

当我尝试滚动最后一页时,我遇到了罕见的崩溃。日志显示:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The number of view controllers provided (0) doesn't match the number required (2) for the requested transition'.

我以为我做错了什么,并尝试使用 Apple 演示项目 ( https://developer.apple.com/library/ios/samplecode/ZoomingPDFViewer/Introduction/Intro.html )。

事故也发生在那里。很难重现,您应该几乎垂直于正常滚动轴(垂直)滚动。我的猜测是 dataSource 的方法被以错误的顺序调用并破坏了 PVC 的完整性。我收到了这样的调用顺序:

2016-08-19 15:03:52.905 ZoomingPDFViewer[7469:1878917] next controller: nil
2016-08-19 15:03:53.358 ZoomingPDFViewer[7469:1878917] prev controller: <DataViewController: 0x14dd5b990>
2016-08-19 15:03:53.358 ZoomingPDFViewer[7469:1878917] prev controller: <DataViewController: 0x14dd42a50>
2016-08-19 15:03:53.373 ZoomingPDFViewer[7469:1878917] next controller: nil

看来 PVC 有点想同时滚动和来回滚动。

我的问题是有什么办法可以解决这个问题吗?我现在想不出任何方法,因为 dataSource 的方法返回了正确的数据(看起来是这样)。

最佳答案

整个“同时向两个方向滚动”的事情可能是因为反弹效果。您是否对非主线程上的 View 进行任何类型的操作?

如果你用 UIPageViewController 做任何不平凡的事情,那它就是有点麻烦的(我在这里很友善)。您可以在 Disable bounce effect in UIPageViewController 中阅读我的回答。看看您是否正在做该问题的其他答案正在做的事情。

除此之外,我建议提交一个错误。针对 UIPageViewController 提交错误的人越多,Apple 修复该错误的可能性就越大。

关于ios - UIPageViewController 在滚动过去的页面时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39040425/

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