gpt4 book ai didi

ios - 使用 IGListKit 在layoutSubviews() 中更改 UICollectionView 的框架和 contentInset

转载 作者:行者123 更新时间:2023-11-29 06:00:02 39 4
gpt4 key购买 nike

我需要更改 Collection View (UICollectionView)的frame和顶部内容插图(contentInset.top)。顶部插图和框架的更改取决于 super View 的边界和 Collection View 的内容偏移量,因此我将插图更改代码放在 layoutSubviews() 中。

override func layoutSubviews() {
super.layoutSubviews()

collectionView.collectionViewLayout.invalidateLayout()
collectionView.contentInset.top = new_inset_top
collectionView.frame = new_frame
}

但是, Collection View 不考虑新的插入,日志显示以下内容:

The behavior of the UICollectionViewFlowLayout is not defined because: 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.

如何修复此问题以使 Collection View 正确显示?

我正在使用 IGListKit

最佳答案

您不需要在 layoutSubviews 中执行所有这些操作。

viewDidLoad中实现如下

func viewDidLoad() {
super.viewDidLoad()

// let say you want 40px top inset
collectionView.contentInset = UIEdgeInsetsMake(40, 0, 0, 0)
}

另一件事是,我不明白,为什么要在 layoutSubviews 中设置框架。无需设置 frame 即可更改 contentInset

关于ios - 使用 IGListKit 在layoutSubviews() 中更改 UICollectionView 的框架和 contentInset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54778119/

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