奇怪的 UICollectionView 错误 CPU 在 iOS 9 中的使用率很高

Strange UICollectionView error with high CPU usage in iOS 9

在 iOS 8 中一切顺利,但在 iOS 9 中我收到此错误消息:the item height must be less than the height of the UICollectionView minus the section insets top and bottom values, minus the content insets top and bottom values

我将 collectionView 嵌入到 tableView 单元格中。有什么想法吗?

我试过self.automaticallyAdjustsScrollViewInsets = false,但还是不行。 DenseMapBase 方法被重复调用。

automaticallyAdjustsScrollViewInsets 很可能与此无关,因为它只影响视图层次结构中的第一个 UIScrollView(或者像 UITableView 这样的后代)。 "automatical scroll view inset adjustment" 意味着如果您在视图中有一个 UINavigationBar,则滚动视图的顶部内容插入设置为 UINavigationBar 的高度,这样条形就不会与当 contentOffset 为零时滚动内容(滚动到顶部),但内容可以在栏下滚动,如果栏不是完全不透明,您可以看到内容(例如在 Safari 中)。

请检查 UICollectionView 的代表 返回的 单元格大小。当代表 returns 一个 单元格大小不适合 UICollectionView 同时尊重内容和部分插图时打印该错误。 您的集合视图的滚动方向是可能是水平的?

如果是这样,那么委托方法可能 returns 单元格的高度值太大。这是一个例子:

  • UICollectionView 的尺寸为 100pt x 100pt
  • 顶部和底部内容插图为 5pt
  • 顶部和底部插图为 0pt(为简单起见)

本例中单元格的最大高度为 100pt - 2 * 5pt = 90pt