问题标签 [uicollectionviewlayout]

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 投票
3 回答
5922 浏览

ios - 如何获取 UICollectionView 标头的索引路径?

使用视图的 indexPathForItemAtPoint,我将获得一个单元格的索引路径,但绝不是 UICollectionReusableView(页眉/页脚)——因为它总是返回 nil。

0 投票
5 回答
1797 浏览

ios - 使用流布局,还是自定义?

我想构建一个集合视图布局,如下图所示。

首先,我想将特定部分的所有项目保留在同一行。当用户垂直滚动时,这些部分会滚动到页面之外。当用户水平滚动时,项目左右滚动(向左滚动时在部分标题下“折叠”,从右侧将新项目带到屏幕上)。

在此处输入图像描述

我知道 Apple 说“如果它看起来像一个网格,你可以使用 Flow Layout”,但我想了解这是否只是一个笼统的声明,或者上述内容是否会突破限制。

上面的布局可以使用 FlowLayout 完成,还是我最好从头开始构建自定义布局?

如果您是布局大师,并且这是“儿童游戏”,我很乐意看到如何进行的示例。

谢谢!

0 投票
1 回答
418 浏览

xamarin.ios - MonoTouch - 如何覆盖静态 UICollectionViewLayout.layoutAttributesClass

我对这个问题有相反的问题

与 UIView 不同,monotouch 省略了静态方法 layerClass 的定义,大概是为了允许您在子类中定义它,layoutAttributesClass 是在 UICollectionViewLayout 中定义的,我不知道如何在我的子类中覆盖它。

我试过了...

...但这从未被调用过。

0 投票
3 回答
6012 浏览

objective-c - UICollectionView 非常慢的自定义布局

我正在使用具有自定义布局的 UICollectionView,该布局以网格格式布置单元格。可以有超过 50 行和 50 列。滚动发生在垂直和水平。目前,我正在执行所有布局设置prepareLayout并将其存储在数组中:

然后在layoutAttributesForElementsInRect我有:

这行得通,但是当我有超过 50 列和 50 行时,它会变得迟钝和跳跃。我现在遇到的问题是我必须设置

这使得它在每次边界变化时都准备好整个布局,不用说,这对性能有很大的影响,你几乎不能滚动。单元格仅包含具有不透明背景的文本,因此没有问题。

我确信我做的不对,一定有更好的方法。我在这里先向您的帮助表示感谢。

0 投票
10 回答
59550 浏览

ios - UICollectionView 和补充视图(标题)

试图将补充视图添加到我UICollectionView的标题中。我在让它工作时遇到问题。

我使用自定义UICollectionViewFlowLayout返回一个contentSize始终比框架大至少 1 像素的 a (我使用的 aUIFreshControl只有在UICollectionView滚动时才有效,并且collectionView.contentSize直接设置什么都不做)并invalidateLayout打开sectionInsertitemSize更改:

我创建了一个UICollectionReusableView只有 aUIView的类UILabel

试图实现它:

我注册课程:

并实现委托:

线

导致错误:

如果我将其注释掉,它会运行但没有标题。

我做错了什么或没有实施?

0 投票
6 回答
47580 浏览

ios - 带有粘性标题的 UICollectionView

我找到了一个关于如何制作粘性标题的博客,它的效果很好。唯一的问题是我认为它没有考虑到 sectionInserts。

这是它的预期外观:

在此处输入图像描述

我有我的插入:

使用粘性标题,它向下移动了 16 个像素:

在此处输入图像描述

我尝试修改原始代码,我认为问题出在最后一部分:

如果我将其更改为origin.y - 16,标题将从正确的位置开始,但是当向上推时,头部的 16 个像素会离开屏幕:

在此处输入图像描述

我不知道如何让它考虑到sectionInsects。有人可以帮忙吗?

以下是博客中的完整代码:

0 投票
1 回答
125 浏览

ios - 带有部分标题的 UICollectionViewWaterfallLayout?

我希望您已经知道一个名为“UICollectionViewWaterfallLayout”的控件。有没有办法在其中实现“节标题”?

谢谢,

雷诺琼斯

0 投票
1 回答
473 浏览

ios - UICollectionView 更改方向不正确的单元格数

我有一个 UICollectionView 在纵向模式下显示 2 列,然后当 iPhone 旋转到横向时,它显示 4。但是,当设备旋转回纵向模式时,它会尝试显示 3 列。因此它正确显示 2 列,并且仅显示第三列的四分之一,因为它不适合。有没有人遇到过这种情况,你是如何解决的?我原以为它应该自动解决。

谢谢

0 投票
3 回答
8642 浏览

uicollectionview - 如何将 UICollectionView 的单元格水平和垂直居中?

如何在UICollectionViewusing中垂直和水平居中所有单元格UICollectionViewFlowLayout

流布局根据滚动方向在右侧或底部留下间距。我想在所有方面设置相同的填充。我玩过sectionInset.UICollectionViewFlowLayout

0 投票
1 回答
2070 浏览

ios - 在 UICollectionViewFlowLayout 使其布局无效后重绘单元格

当您使布局无效时,UICollectionViewFlowLayout它会为每个单元格创建一堆新的布局属性;但是,它不会告诉您的单元格重绘,这会导致任何图层图形失真。

我不想告诉我的集合重新加载它的数据,因为这会删除您在流属性之间拥有的任何不错的过渡:例如,我有一个网格布局过渡到一个覆盖流。

我需要一种方法让UICollectionViewController类告诉单元格[setNeedsDisplay]在获得布局属性后调用它们的方法。