gpt4 book ai didi

ios - 如何使父 uicollectionview 的 uicollectionviewcell 中 uicollectionview 的布局无效?

转载 作者:行者123 更新时间:2023-11-29 05:36:30 26 4
gpt4 key购买 nike

这是layout我有。

我有一个 UICollectionView,其单元格中嵌入了 UICollectionViews。在 iPad 上,当我旋转屏幕时,我可以通过覆盖来使父 UICollectionView 的布局无效

func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator)

这工作得很好。但是,我不确定如何将此触发器重定向到各个单元格内的 UICollectionViews。

到目前为止,我已尝试通过 func layoutSubviews() 使这些 UICollectionView 的布局无效。这不太一致,因为一些单元格仍然采用旧布局。然而,这个:

func willTransition(from oldLayout: UICollectionViewLayout, to newLayout: UICollectionViewLayout)

对于这种情况根本不会被触发。

我还在嵌入式 UICollectionViews 的流布局中尝试了 func shouldInvalidateLayout(forBoundsChange newBounds: CGRect) -> Bool

我没有使用自动调整大小的单元格,即,我通过提供单元格的大小

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize

解决此问题以获得一致结果的最简洁方法是什么?

感谢这方面的任何指示。

最佳答案

您是否尝试过在父单元格的每个 UIView 中重写以下方法

override public func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
super.traitCollectionDidChange(previousTraitCollection)

collectionView.collectionViewLayout.invalidateLayout()
}

关于ios - 如何使父 uicollectionview 的 uicollectionviewcell 中 uicollectionview 的布局无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56994093/

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