【问题标题】:Strange UICollectionView error with high CPU usage in iOS 9iOS 9 中 CPU 使用率高的奇怪 UICollectionView 错误
【发布时间】:2016-01-07 16:42:42
【问题描述】:

在 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

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

我试过self.automaticallyAdjustsScrollViewInsets = false,但它不起作用。 DenseMapBase 方法被重复调用。

【问题讨论】:

    标签: ios uicollectionview ios9 uicollectionviewlayout


    【解决方案1】:

    automaticallyAdjustsScrollViewInsets 很可能与此无关,因为它仅影响视图层次结构中的第一个 UIScrollView(或它的后代,如 UITableView)。 “自动滚动视图插图调整”意味着如果您在视图中有UINavigationBar,则滚动视图的顶部内容插图设置为UINavigationBar 的高度,以便栏不会与滚动内容重叠当contentOffset 为零时(滚动到顶部),但内容可以在栏下滚动,如果栏不完全不透明,您可以看到内容(例如在 Safari 中)。

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

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

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

    在这种情况下,单元格的最大高度为 100pt - 2 * 5pt = 90pt

    【讨论】:

    • 对,collectionView Min Spacing For Lines 设置为 10,我在 Interface Builder 中设置为 0,来自终端的警告消失了,但应用程序仍然崩溃
    • @János 嗯,错误的单元格大小应该不会导致应用程序崩溃,我认为崩溃与其他原因有关。您可以发布堆栈跟踪还是原始问题中的堆栈跟踪?
    • @János 嗯,堆栈跟踪没有太大帮助。你已经设法解决这个问题了吗?查看资源使用图,似乎有一个永恒的循环在某处分配越来越多的内存,直到应用程序崩溃。您是否检查过您没有从可能导致这种情况的委托方法中意外调用 reloadData
    猜你喜欢
    • 2017-10-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2015-11-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多