崩溃:[UIPageControl] 页面越界。请求 0 但页面控件只有 0 个页面:为啥?

Posted

技术标签:

【中文标题】崩溃:[UIPageControl] 页面越界。请求 0 但页面控件只有 0 个页面:为啥?【英文标题】:CRASH: [UIPageControl] Page out-of-bounds. Requested 0 but the page control only has 0 pages: why?崩溃:[UIPageControl] 页面越界。请求 0 但页面控件只有 0 个页面:为什么? 【发布时间】:2021-01-11 19:27:47 【问题描述】:

我的应用已开始报告标题中出现错误的崩溃。在过去的一年中没有见过这种情况,并且由于我没有更改任何 UIPageControl 代码,为什么会崩溃?

【问题讨论】:

【参考方案1】:

搜索,我只在那个字符串上找到了一个命中,from China。翻译过来,上面写着:

ios 更新到 iOS14 后,Run 项目会崩溃,因为 我封装的 UIPageControl 崩溃了,但这并没有发生 在iOS13及以下。最后发现崩溃是由于 在分配计数之前分配数字

是的!应用程序代码在计数之前设置了数字!在此处发布此内容,以便其他遇到相同问题的人知道如何快速解决它!

编辑:

更准确地说:

if pageControl.numberOfPages > 0 
    pageControl.currentPage = 0

如果您还没有任何页面,请不要将当前页面设置为任何内容!

【讨论】:

嗨,David H。你能发布修复的代码 sn-p 吗?看来我们遇到了同样的问题。

以上是关于崩溃:[UIPageControl] 页面越界。请求 0 但页面控件只有 0 个页面:为啥?的主要内容,如果未能解决你的问题,请参考以下文章

内存越界一定会导致程序崩溃吗?详解内存越界

检测 UIPageControl 页面变化

UIPageControl - 单击按钮更改页面

UIPageControl 显示不正确的页面

UIPageControl(页面控件)不显示在 UIPageViewController

UIPageControl + UIScrollView 没有正确计算页面