gpt4 book ai didi

ios - UICollectionview 即时布局更新

转载 作者:可可西里 更新时间:2023-11-01 02:24:58 26 4
gpt4 key购买 nike

我有一个小问题,我找不到解决方案。

我试图在第一个单元格在 collectionView(collectionView:, cellForItemAtIndexPath indexPath:) 中出队后使 UICollectionViewFlowLayout 的布局无效,以便它在显示给用户之前适合它的内容。我需要这样做,因为我需要访问单元格 ui 元素,这些元素在第一次调用 sizeForItemAtIndexPath 时不可用。

在 iOS 8 中这工作正常,但在 iOS 7 中 invalidateLayout 不会立即更新布局,正如 Apple 文档中所述:

It is useful to remember that calling the invalidateLayout method does not begin the layout update process immediately. The method merely marks the layout as being inconsistent with the data and in need of being updated. During the next view update cycle, the collection view checks to see whether its layout is dirty and updates it if it is. In fact, you can call the invalidateLayout method multiple times in quick succession without triggering an immediate layout update each time.

现在我想知道是否有适用于 iOS 7 的解决方法可以立即更新流布局。

reloadData 不是解决方案,因为在单元格出队时调用它会弄乱整个 Collection View 。

最佳答案

我找到了invalidateLayout没有立即触发的解决方案:viewDidLayoutSubviews是在collectionview加载后调用的,所以我在这个方法中调用了invalidate方法。有趣的是,这确实有效。

关于ios - UICollectionview 即时布局更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28659572/

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