问题标签 [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.
swift - 带有分页的 UICollectionViewCompositionalLayout - header + cell = fractionalHeight(1)
在构建组合部分以强制标题加上部分高度为 .fractionalHeight(1) 时,有什么办法吗?
我正在尝试使 collectionView 垂直分页,因此每个“页面”都显示一个标题单元格和一个可能垂直移动的单个部分单元格。
所以这显示了一个 50px 的标题,然后该部分从屏幕底部绘制 50px,然后抛出 collectionView 的分页。
有没有办法将标题的高度指定为 50px,然后填充剩余高度的部分?也许我遗漏了一些东西,或者我必须用估计的高度来做这件事,并在单元格布局期间设置实际高度?
提前致谢!
ios - UICollectionViewDiffableDataSource 在应用时没有正确动画
我有一个项目列表,它们在列表中按数量降序显示。我按名称对它们进行哈希处理,因此当我更改数量时,它们应该在应用时顺利重新排序。当我调用apply(snapshot, animatingDifferences: true)
函数 on 时UICollectionViewDiffableDataSource
,它不会以流畅的动画重新排序单元格,而是闪烁,并且一切都到位,没有“重新排序”。
ios - UICollectionView 组合布局:正交ScrollView 向上移动
我使用 CompositionalLayout 和 DiffableDatasource API 创建了一个 UICollectionView。除了向上移动的 Orthogonal ScrollView 之外,一切都按预期工作并且看起来像预期的那样。
以下屏幕截图显示了我的视图层次结构的相关部分。突出显示的视图是 UICollectionViewOrthogonalScrollerEmbeddedScrollView,如您所见,它的大小似乎正确,但沿 y 轴的位置不正确。
除了在布局的错误区域中识别出滚动手势之外,上面的标题元素中的按钮也无法访问,因为它被所述滚动视图挡住了。
这是我的 NSCollectionLayoutSection 的定义:
我尝试将单个项目以及组的高度尺寸从小数值更改为估计值或绝对值,并尝试调整 contentInsets。以上都对scrollView没有任何影响。
uicollectionview - 使用 UICollectionViewCompositionalLayout 自动调整单元格大小
下面生成高度等于 的行estimatedHeight
。它不会根据 UILabel 的高度自动调整单元格大小title
。.estimated
像.absolute
预期的那样工作。
ios - UICollectionView:滚动时为单元格设置动画
我想在 UICollectionView 中最顶部和最底部的单元格进入和离开屏幕时为其设置动画。我不只是想使用滚动视图代表和一次性动画制作动画。我希望动画是进度驱动的。
示例:随着单元格滚动到屏幕外,最顶部的单元格逐渐消失。
我已经在互联网上搜索了一种方法来做到这一点,但解决方案要么已经过时,要么没有达到这种效果。提前致谢。
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))}
ios - 自定尺寸单元 UICollectionViewCompositionalLayout 不适用于图像
我正在尝试制作此屏幕
,我将 UICollectionViewCompositionalLayout 与自调整单元格一起使用,但由于图像的大小,它不起作用。我尝试改变约束的优先级,但没有任何结果。告诉我如何达到预期的结果?
失败
创建部分
单元格布局
锚函数
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()
从几个地方打电话
但似乎没有任何效果。