问题标签 [uicollectionviewcompositionallayout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
115 浏览

swift - 带有分页的 UICollectionViewCompositionalLayout - header + cell = fractionalHeight(1)

在构建组合部分以强制标题加上部分高度为 .fractionalHeight(1) 时,有什么办法吗?

我正在尝试使 collectionView 垂直分页,因此每个“页面”都显示一个标题单元格和一个可能垂直移动的单个部分单元格。

所以这显示了一个 50px 的标题,然后该部分从屏幕底部绘制 50px,然后抛出 collectionView 的分页。

有没有办法将标题的高度指定为 50px,然后填充剩余高度的部分?也许我遗漏了一些东西,或者我必须用估计的高度来做这件事,并在单元格布局期间设置实际高度?

提前致谢!

0 投票
1 回答
83 浏览

ios - UICollectionViewDiffableDataSource 在应用时没有正确动画

我有一个项目列表,它们在列表中按数量降序显示。我按名称对它们进行哈希处理,因此当我更改数量时,它们应该在应用时顺利重新排序。当我调用apply(snapshot, animatingDifferences: true)函数 on 时UICollectionViewDiffableDataSource,它不会以流畅的动画重新排序单元格,而是闪烁,并且一切都到位,没有“重新排序”。

0 投票
0 回答
105 浏览

ios - UICollectionViewCompositionalLayout - 如何创建多个水平部分?

我想实现这种布局(我说的是水平部分):

布局

我知道,当我的布局默认为垂直时,我不能并排水平放置多个部分。但是我可以仅在一个部分中使用组和项目来实现类似的效果吗?我能想到的唯一解决方案是使用组合的绝对大小的嵌套组和项目。但它严格基于本节中的项目数量,并且在组合布局的上下文中感觉不正确。

我忽略了什么吗?或者这是不可能的?

我知道,我可以在一个单元格中使用嵌套的集合视图,但我对一种布局中的解决方案感到好奇。

0 投票
0 回答
239 浏览

ios - UICollectionView 组合布局:正交ScrollView 向上移动

我使用 CompositionalLayout 和 DiffableDatasource API 创建了一个 UICollectionView。除了向上移动的 Orthogonal ScrollView 之外,一切都按预期工作并且看起来像预期的那样。

以下屏幕截图显示了我的视图层次结构的相关部分。突出显示的视图是 UICollectionViewOrthogonalScrollerEmbeddedScrollView,如您所见,它的大小似乎正确,但沿 y 轴的位置不正确。

查看层次结构快照

除了在布局的错误区域中识别出滚动手势之外,上面的标题元素中的按钮也无法访问,因为它被所述滚动视图挡住了。

这是我的 NSCollectionLayoutSection 的定义:

我尝试将单个项目以及组的高度尺寸从小数值更改为估计值或绝对值,并尝试调整 contentInsets。以上都对scrollView没有任何影响。

0 投票
0 回答
34 浏览

uicollectionview - 使用 UICollectionViewCompositionalLayout 自动调整单元格大小

下面生成高度等于 的行estimatedHeight。它不会根据 UILabel 的高度自动调整单元格大小title.estimated.absolute预期的那样工作。

0 投票
1 回答
166 浏览

ios - 如何使用 UICollectionViewCompositionalLayout 创建类似 instagram 配置文件的控制器?

我必须制作这个与 Instagram 个人资料具有相同逻辑的控制器

  1. 选项卡和标题
  2. 固定在顶部的选项卡

我正在使用 UICollectionViewCompositionalLayout 和选项卡逻辑的问题。我使用一个收集单元并根据选项卡更改日期。但是偏移和动画的问题。我该如何改变它或者我应该使用其他方式?

在此处输入图像描述

0 投票
1 回答
193 浏览

ios - UICollectionView:滚动时为单元格设置动画

我想在 UICollectionView 中最顶部和最底部的单元格进入和离开屏幕时为其设置动画。我不只是想使用滚动视图代表和一次性动画制作动画。我希望动画是进度驱动的。

示例:随着单元格滚动到屏幕外,最顶部的单元格逐渐消失。

我已经在互联网上搜索了一种方法来做到这一点,但解决方案要么已经过时,要么没有达到这种效果。提前致谢。

0 投票
1 回答
682 浏览

swift - 当内容太长时,具有 .estimated 宽度的组合布局项目会使应用程序崩溃

我正在探索使用组合布局的奇妙世界,我发现了一个需要帮助的小情况。下面是一个简单的应用程序,它使用带有 CL 的 CollectionView 来使用UIListContentConfiguration圆形单元格显示随机字符串。该项目的宽度是.estimated(30)这样我可以根据单元格的内容获得自定大小的单元格(宽度)。在我将字符数从 50 增加到 100 之前,这非常有效。(目前在 iPad Pro 9.7 上运行)。似乎 100 个字符超过了 CollectionView 的宽度,使我的应用程序开始使用疯狂的内存量,直到它因为同样的原因而崩溃。

如何重现: 将要显示的字符数更改为更高的数字。前任。 return (1...100).compactMap { $0; return self.randomString(length: .random(in: 1..<150))}

0 投票
0 回答
105 浏览

ios - 自定尺寸单元 UICollectionViewCompositionalLayout 不适用于图像

我正在尝试制作此屏幕这个画面。
,我将 UICollectionViewCompositionalLayout 与自调整单元格一起使用,但由于图像的大小,它不起作用。我尝试改变约束的优先级,但没有任何结果。告诉我如何达到预期的结果?

失败

创建部分

单元格布局

锚函数

0 投票
0 回答
194 浏览

ios - 如何根据子图像的纵横比设置 UICollectionViewCell 的高度?

我想在集合视图中显示不同尺寸(800x600、800x800、800x1200 等)的图像(每个图像都是一个单元格)。单元格的宽度是静态的,等于集合视图的宽度,但高度需要是动态的,根据显示的图像计算,这样我们就不会裁剪任何艺术品!

我正在使用UICollectionViewCompositionalLayout和加载来自专用笔尖的传感器,如下所示:

接着

唯一的ImageCell一个图像视图被限制在其超级视图(单元格的contentView):

细胞

此单元格的布局使用.estimated高度:

最后,我使用ScaledHeightImageView了一个UIImageView子类,它根据图像的纵横比(取自此处)计算内在大小。

现在的问题是,当我设置单元格并计算内在大小时,imageView 的宽度是来自 storyboard的宽度,而不是来自 parent的宽度UICollectionView,所以我的单元格的高度总是错误的。

有人可以帮助我了解我的设置有什么问题吗?

我尝试过:

  • 设置单元格func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath)
  • layoutSubviews()UICollectionViewCell子类中覆盖
  • layoutIfNeeded()从几个地方打电话

但似乎没有任何效果。