gpt4 book ai didi

ios - UICollectionViewCell 有 2 个单元格,每个单元格的高度为 "wrap_content"

转载 作者:行者123 更新时间:2023-11-28 07:39:56 27 4
gpt4 key购买 nike

我正在尝试在 CollectionView 上设置自动高度单元格。

我有 2 个不同的单元格,可以。

当我旋转设备landscape时,我更改为自动高度和宽度。有用。但是当回到 portrait 时,它不会:

func checkEstimatedSize(){
if(DeviceType.IS_IPAD || UIDevice.current.orientation == .landscapeLeft || UIDevice.current.orientation == .landscapeRight){
if let layout = myCollectionView.collectionViewLayout as? UICollectionViewFlowLayout {
layout.estimatedItemSize = CGSize(width: 1, height: 1)
layout.invalidateLayout()
}
}else{
if(UIDevice.current.orientation == .portrait || UIDevice.current.orientation == .portraitUpsideDown){
if let layout = myCollectionView.collectionViewLayout as? UICollectionViewFlowLayout {
//get width of CollectionView
layout.estimatedItemSize = CGSize(width: 0, height: 1)
layout.invalidateLayout()
}
}
}
}

纵向时,我希望宽度与 CollectionView 相同,但高度取决于单元格的内容。

我知道有一个 sizeForItemAt indexPath,但如何检查/设置单元格(或 CollectionView)的“自动高度”。

对不起,我不是专家,这就是我问专家的原因......

提前谢谢你。

编辑:

事实证明,我在第二个 else 上更改了 layout.estimatedItemSize = CGSize(width: myCollectionView.frame.width, height: 0) 并且有点工作...但现在我收到警告加上模拟器卡住:未定义 UICollectionViewFlowLayout 的行为,因为:
MyApp 项目宽度必须小于 UICollectionView 的宽度减去 section insets left 和 right 值,再减去 content insets left 和 right 值。

想法?

最佳答案

我需要将 UICollectionViewFlowLayoutAutomaticSize 设置为我的其他:

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator){
checkEstimatedSize()
}

func checkEstimatedSize(){
if(DeviceType.IS_IPAD || UIDevice.current.orientation == .landscapeLeft || UIDevice.current.orientation == .landscapeRight){
if let layout = myCollectionView.collectionViewLayout as? UICollectionViewFlowLayout {
layout.estimatedItemSize = CGSize(width: 1, height: 1)
layout.invalidateLayout()
}
}else{
if let layout = myCollectionView.collectionViewLayout as? UICollectionViewFlowLayout {
layout.estimatedItemSize = UICollectionViewFlowLayoutAutomaticSize
layout.invalidateLayout()
}
}
}

这样就完美了!

谢谢大家!

关于ios - UICollectionViewCell 有 2 个单元格,每个单元格的高度为 "wrap_content",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52562067/

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