如何将UICollectionView的高度调整为UICollectionView的内容大小的高度?

字符:

我希望UICollectionView(红色的)缩小到内容大小的高度,在这种情况下,UICollectionViewCells(黄色的)是因为有很多空白空间。我尝试使用的是:

override func layoutSubviews() {
    super.layoutSubviews()
    if !__CGSizeEqualToSize(bounds.size, self.intrinsicContentSize) {
        self.invalidateIntrinsicContentSize()
    }
}

override var intrinsicContentSize: CGSize {
    return self.collection.contentSize
}

return self.collection.contentSize总是返回(width,0),因此它会缩小到高度30的值(尽管我在constaint> = 30的情况下在XIB文件中为高度设置的值)。

在此处输入图片说明

哈桑:

我建议以下内容:

  1. 向您的集合视图添加高度限制。
  2. 将其优先级设置为999。
  3. 将其常数设置为在情节提要板上合理可见的任何值。
  4. 将集合视图的底部相等约束更改为更大或相等。
  5. 将高度限制器连接到插座。
  6. 每次在集合视图上重新加载数据时,请执行以下操作:

您可能还想通过将集合视图添加到内容大小来考虑它的插图。

代码样例:

CGFloat height = myCollectionView.collectionViewLayout.collectionViewContentSize.height
heightConstraint.constant = height
self.view.setNeedsLayout() Or self.view.layoutIfNeeded()

说明:额外,如果您了解它,则不必阅读。明显!!

用户界面将尝试反映所有约束,而不管它们的优先级如何。由于高度约束的优先级较低(999),而底部约束的优先级大于或等于。只要将高度限制常数设置为小于父视图高度的值,集合视图就将等于给定的高度,从而实现两个限制。

但是,当高度约束常量设置为大于父视图高度的值时,将无法实现这两个约束。因此,将仅获得具有较高优先级的约束,该约束是更大或相等的底部约束。

以下只是经验的猜测。因此,它达到一个常数。但是,它还会尝试使其他未实现的较低优先级约束的结果UI中错误尽可能低因此,集合视图的高度将等于父视图的大小。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将UICollectionView项目的大小调整为与集合视图高度相同的正方形大小?

自动调整UICollectionView的高度以调整其内容大小

如何将UITableViewCell的高度调整为内部UITextView的内容?

如何使UICollectionView的高度可自动调整大小和滚动?

将分页UICollectionView高度调整为当前可见的UICollectionViewCell

UICollectionView自动调整高度

无法调整uicollectionview的高度

如何将contentView的高度调整为UITableViewCell的高度?

如何将WKWebview的容器内容高度调整为Webview内容?

如何将小部件的高度和宽度调整为窗口大小?

如何将文本列的大小调整为页面的高度

如何将桌子的高度调整到其容器的大小

如何 uicollectionview 高度灵活

约束UICollectionView的高度以匹配内容的高度

如何将桌子的高度设置为屏幕的大小?

如何将第二列的高度调整为第一列的高度?

如何将图像大小调整为垂直图像的 900 像素高度或水平图像的 900 像素宽度?

CSS网格-自动高度行,调整为内容大小

如何将UICollectionView内容垂直居中

我如何将最小高度设置为我的容器,然后在点击按钮后包装内容高度等于文本高度

将UITableViewCell的高度调整为UITextView的高度

Swing:如何将组件高度设置为容器的高度?

将viewDidLoad中的UITableViewCell的高度调整为内容

UICollectionView内容未正确调整大小

固定单元格的高度为UICollectionView的高度

如何将“调整行大小”设置从“适合数据”更改为“指定行高,不行,无论如何我都希望该行的高度为21像素”?

如何获取div高度以自动调整为背景大小?

如何将UIScrollView的“主要”内容设置为屏幕的高度-“次要”内容位于“折叠之下”

如何将图像的宽度和高度调整为100 x 100的保留比例?