问题标签 [uicollectionviewdelegateflowlayout]

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 投票
1 回答
1212 浏览

ios - 访问 layout.collectionViewContentSize 时 collectionView(_:layout:sizeForItemAt:) 中的异常

达到

我想在一个UICollectionView. 因此我实施了

collectionView(_:layout:sizeForItemAt:)UICollectionViewDelegateFlowLayout

错误

但是我面临的问题是,每当我访问collectionViewLayout.collectionViewContentSize此功能时,我的应用程序就会崩溃并出现异常。

例外情况如下:

* 由于未捕获的异常“NSRangeException”而终止应用程序,原因:“* -[__NSArrayM objectAtIndexedSubscript:]: index 1 beyond bounds [0 .. 0]”。

抛出调用堆栈位于帖子的底部。

这似乎是 SDK 的内部问题,并且可能没有正确初始化!?

问题

谁能确认这个错误或告诉我我做错了什么?

执行

这是我的实现UICollectionViewDelegateFlowLayout

在集合视图控制器子类中,我将一个对象分配TwoSizesCellFlowLayout给 的delegate属性UICollectionViewController

首先抛出调用堆栈:

问候,

亚伦

0 投票
2 回答
33 浏览

uicollectionview - 在 UICollectionViewController 中指定具体的单元格大小?

我有一个UICollectionViewController带有单元原型的故事板。单元格大小未直接指定,它会导致随机 UI 错误,例如拉伸单元格动画。我想直接设置大小,但我没有找到如何在 xcode 10(和最新的 swift)中做到这一点。如何解决这个问题?

注意:我知道UICollectionViewDelegateFlowLayout 的存在,但我不知道如何将它应用到UICollectionViewController.

0 投票
1 回答
77 浏览

swift - 具有 3 列的 UICollectionView 不会产生所需的结果

我正在 iPhone XR 模拟器上对此进行测试。我有 3 行图像,我希望它们显示在 3 列中,距离顶部、左侧、右侧和底部 2 个点。这曾经有效,但由于某种原因它现在不起作用。

这是我的结果:

在此处输入图像描述

0 投票
3 回答
4319 浏览

ios - 设置集合视图单元格的动态宽度时出现问题

我正在尝试动态设置集合视图单元格的宽度。最初它没有按预期呈现。但是当我点击单元格时,它会根据我的需要进行调整。这是我写的代码:

代码

在这里,我在点击之前和点击之后附上了两张图片,这样您就可以轻松理解

[![这是我点击之前的图像

这是在点击单元格后,它给了我完美的结果单元格] 2 ] 2

所以请告诉我我的代码有什么问题

0 投票
1 回答
87 浏览

swift - UICollectionViewDelegateFlowLayout 没有改变单元格边界

我在设置UICollectionViewCell具有相对collectionView边界宽度的阴影路径时遇到问题。

我使用情节提要约束,在方法中设置阴影并使用方法AwakeFromNib调整单元格大小sizeForItemAt

单元格边界:

AwakeFromNib方法 - (307.0, 288.0)

预期 - (300.0, 288.0)

问题是什么?

0 投票
1 回答
471 浏览

ios - Swift UICollectionView 单元格过渡效果

我使用全帧 UICollectionView 作为 PageViewController。我想在传递下一个/上一个项目时添加过渡样式。通常单元格相互跟随起点和终点,但我想在这个库中给出“CrossFade”效果 - https://github.com/KelvinJin/AnimatedCollectionViewLayout

但我想将第一个单元格保留在背景中,第二个单元格覆盖第一个单元格“就像铺一张床单”。

提前致谢

0 投票
1 回答
70 浏览

ios - 使用 UICollectionViewDelegateFlowLayout 后约束未更新

UICollectionViewDelegateFlowLayout用来制作我的尺寸和高度,collectionViewCell但是当我使用这个时,其中的约束cell没有更新。

因此,委托方法设置了正确的大小,但单元格中的元素被剪切(未更新)。我的单元格约束在情节提要中设置。

0 投票
1 回答
3082 浏览

swift - 如何在不使用部分的情况下在水平集合视图中制作 2 行

UICollectionView 中的水平滚动只返回一行,我需要制作一个有 2 行的水平滚动集合视图,如下图所示

[1]:https ://i.stack.imgur.com/Vs1kt.png :[1]

0 投票
0 回答
67 浏览

ios - 有没有办法返回 sizeForItemAt UICollectionViewDelegateFlowLayout 方法中的约束计算的大小

我正在覆盖 UICollectionViewDelegateFlowLayout 的 sizeForItemAt 方法。我想做的只是在我在某个部分时计算大小,然后回退到其他部分的默认流布局行为。

我不完全确定如何去做,因为我没有子类化我不能只使用超类实现。

一个正确方向的观点将不胜感激。

编辑

我想systemLayoutSizeFitting如下所示使用,但sizeForItemAt调用时未创建单元格。

我尝试创建自己的布局子类,但遇到了同样的问题,我有两个全宽单元格,自动布局提供约束,然后是网格布局,我在其下方手动计算大小。所以我想回到我的约束条件,为前两个单元格提供大小。

0 投票
2 回答
1707 浏览

swift - UICollectionView sizeForItemAt 调用但大小不正确

我想让第一部分的单元格是集合视图的全宽,第二部分是宽度的一半。启动时,单元格不尊重给定的宽度,尽管似乎尊重了高度。几秒钟后,collection view 被重新加载,并且大部分时间它将单元格设置为正确的大小。当手机的方向变为横向时,单元格将再次以不正确的尺寸绘制。

我尝试使用 UICollectionViewDelegateFlowLayout 和 sizeForItemAt 委托函数来设置单元格大小,但即使正在调用该函数,它们也不遵循给定的大小。

目前,我正在设置部分插图,然后计算集合视图边界中单元格的剩余可用宽度,然后将宽度除以每行的单元格数。

这会导致单元格的大小不正确,如下图所示。不正确的示例图像

只有在重新加载集合视图之后才能正确调整它们的大小。正确的示例图像

此外,当手机变成横向时,它会显示不正确。不正确的风景示例图像

总结一下我的问题,第一部分的单元格应始终占可用宽度的 100%。如果可能的话,如果他们有一个自动高度,那将是非常好的。我试过使用 UICollectionViewFlowLayout.automaticSize.height 但我认为这行不通。对于第二部分,它需要始终占据可用宽度的 50%。