gpt4 book ai didi

ios - UICollectionView 不调用 intrinsicContentSize

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:54:28 25 4
gpt4 key购买 nike

我有一个 UICollectionViewController,它生成具有随机颜色的单元格以用于测试目的。现在 UICollectionViewController 已嵌入到 UIScrollView 中,我希望 scrollView 的大小与其 contentSize 的大小相同。

我创建了 UICollectionView 的子类,实现了 intrinsicContentSize 方法,并将 UICollectionView 的类设置为我在 IB 中的自定义类。但是 intrinsicContentSize 永远不会被调用。我对 UITableView 进行了完全相同的设置,并且它可以完美地工作。

对此有什么想法吗?

- (CGSize)intrinsicContentSize {
[self layoutIfNeeded];
return CGSizeMake(UIViewNoIntrinsicMetric, self.contentSize.height);
}

最佳答案

正确的答案是做这样的事情

- (CGSize)intrinsicContentSize
{
return self.collectionViewLayout.collectionViewContentSize;
}

并在您认为需要更改时调用 -invalidateContentSize(例如在 reloadData 之后)。

在 Interface Builder 中,您可能需要设置占位符固有大小限制以避免错误。

如果您想扩大 Collection View 的框架直到它受到兄弟或父 View 的约束,这种对 -intrinsicContentSize 的子类化和覆盖非常有用

关于ios - UICollectionView 不调用 intrinsicContentSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19360303/

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