【问题标题】:One UICollectionView out of several not showing几个中的一个 UICollectionView 没有显示
【发布时间】:2020-08-26 04:42:08
【问题描述】:

这是一个谜题:

我有一个集合视图,在通过 Xcode 运行时效果很好,但是当作为临时构建(想想,testflight)分发时,只有在第一次打开时,集合视图才会显示为空白。

已验证以下内容:

  • 可见
  • 有预期的帧
  • 添加到视图中
  • 可以放个标签进去,标签就出现了
  • 不调用 dataSource/delegate 方法
  • 不调用 FlowLayout 子类方法
  • 在任何设备上的任何版本 (7/8/9) 上发生

再多的 reloadData、setDelegate 和 setDataSource 都不会导致它调用其委托/数据源方法。

我在分页滚动视图中还有其他几个可以正常工作的集合视图。只有这个集合视图有问题。

最后一点,如果我通过 Xcode 安装构建,将其删除,然后安装其中一个临时构建,它们可以正常工作!?在设备上安装 Xcode 构建后,在该设备上首次运行时,集合视图将不再显示为空白。

【问题讨论】:

  • 这是应用程序的第一个视图吗?我要确定的是,应用程序的开场舞可能有问题吗?
  • 没有。这是一些深刻的观点。哦,还有一条信息。如果通过重新实例化故事板的 initialViewController 来重置 rootViewController,一旦视图加载,collectionView 会重新出现。这几乎可以描述为“第一次加载 xib”而不是“第一次运行应用程序”。请注意,故事板加载的 VC 最终会加载其他 xib。

标签: ios uicollectionview


【解决方案1】:

我最终还是明白了这一点。有一次,Apple 在从后台线程修改 UI 时添加了异常/警告。我发现回调正在后台线程上重新加载集合视图,这导致了异常行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-27
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多