问题标签 [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.
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
:
首先抛出调用堆栈:
问候,
亚伦
uicollectionview - 在 UICollectionViewController 中指定具体的单元格大小?
我有一个UICollectionViewController
带有单元原型的故事板。单元格大小未直接指定,它会导致随机 UI 错误,例如拉伸单元格动画。我想直接设置大小,但我没有找到如何在 xcode 10(和最新的 swift)中做到这一点。如何解决这个问题?
注意:我知道UICollectionViewDelegateFlowLayout 的存在,但我不知道如何将它应用到UICollectionViewController
.
swift - UICollectionViewDelegateFlowLayout 没有改变单元格边界
我在设置UICollectionViewCell
具有相对collectionView
边界宽度的阴影路径时遇到问题。
我使用情节提要约束,在方法中设置阴影并使用方法AwakeFromNib
调整单元格大小sizeForItemAt
单元格边界:
AwakeFromNib
方法 - (307.0, 288.0)
预期 - (300.0, 288.0)
问题是什么?
ios - Swift UICollectionView 单元格过渡效果
我使用全帧 UICollectionView 作为 PageViewController。我想在传递下一个/上一个项目时添加过渡样式。通常单元格相互跟随起点和终点,但我想在这个库中给出“CrossFade”效果 - https://github.com/KelvinJin/AnimatedCollectionViewLayout。
但我想将第一个单元格保留在背景中,第二个单元格覆盖第一个单元格“就像铺一张床单”。
提前致谢
ios - 使用 UICollectionViewDelegateFlowLayout 后约束未更新
我UICollectionViewDelegateFlowLayout
用来制作我的尺寸和高度,collectionViewCell
但是当我使用这个时,其中的约束cell
没有更新。
因此,委托方法设置了正确的大小,但单元格中的元素被剪切(未更新)。我的单元格约束在情节提要中设置。
swift - 如何在不使用部分的情况下在水平集合视图中制作 2 行
UICollectionView 中的水平滚动只返回一行,我需要制作一个有 2 行的水平滚动集合视图,如下图所示
[1]:https ://i.stack.imgur.com/Vs1kt.png :[1]
ios - 有没有办法返回 sizeForItemAt UICollectionViewDelegateFlowLayout 方法中的约束计算的大小
我正在覆盖 UICollectionViewDelegateFlowLayout 的 sizeForItemAt 方法。我想做的只是在我在某个部分时计算大小,然后回退到其他部分的默认流布局行为。
我不完全确定如何去做,因为我没有子类化我不能只使用超类实现。
一个正确方向的观点将不胜感激。
编辑
我想systemLayoutSizeFitting
如下所示使用,但sizeForItemAt
调用时未创建单元格。
我尝试创建自己的布局子类,但遇到了同样的问题,我有两个全宽单元格,自动布局提供约束,然后是网格布局,我在其下方手动计算大小。所以我想回到我的约束条件,为前两个单元格提供大小。
swift - UICollectionView sizeForItemAt 调用但大小不正确
我想让第一部分的单元格是集合视图的全宽,第二部分是宽度的一半。启动时,单元格不尊重给定的宽度,尽管似乎尊重了高度。几秒钟后,collection view 被重新加载,并且大部分时间它将单元格设置为正确的大小。当手机的方向变为横向时,单元格将再次以不正确的尺寸绘制。
我尝试使用 UICollectionViewDelegateFlowLayout 和 sizeForItemAt 委托函数来设置单元格大小,但即使正在调用该函数,它们也不遵循给定的大小。
目前,我正在设置部分插图,然后计算集合视图边界中单元格的剩余可用宽度,然后将宽度除以每行的单元格数。
这会导致单元格的大小不正确,如下图所示。不正确的示例图像
只有在重新加载集合视图之后才能正确调整它们的大小。正确的示例图像
此外,当手机变成横向时,它会显示不正确。不正确的风景示例图像
总结一下我的问题,第一部分的单元格应始终占可用宽度的 100%。如果可能的话,如果他们有一个自动高度,那将是非常好的。我试过使用 UICollectionViewFlowLayout.automaticSize.height 但我认为这行不通。对于第二部分,它需要始终占据可用宽度的 50%。