问题标签 [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 投票
3 回答
1561 浏览

ios - 滚动到 CollectionView 底部时,Collection View Cells 会无意中调整大小

我正在构建图像的集合视图(图库)。

布局为每行 3 个单元格。

在我滚动到集合视图的底部之前,一切看起来都很棒。

它来自: 每行 3 个,看起来不错

to: 超级放大的图片,比屏幕还大

我也收到此错误消息:

任何见解都会很棒,我也想把它变成无限滚动(api预取),如果这意味着我可以忽略它,仅供参考。

0 投票
1 回答
984 浏览

ios - UICollectionView 单元格忽略 UICollectionViewDelegateFlowLayout - sizeForItemAt

我正在尝试布局我的 collectionViewCell 的大小,以便在每一行中有 7 个单元格(简单吧?)。

单元格非常简单,它只有一个 UILabel,上下左右约束为 0。

我已经设置了 sizeForItemAt 方法,如下所示,确保我的控制器是 collectionViewDelegateFlowLayout、collectionViewDelegate 和 collectionViewDataSource,并且 collectionview.delegate 和 .datasource = self。

该方法被正确调用(使用断点和 print() 检查),但是单元格决定完全忽略给定的大小,并输出刚好足以包含其标签文本的大小(如果标签的文本为空,则应用程序因“而崩溃”无效参数不满足:!CGSizeEqualToSize(size, CGSizeZero)")。

我尝试设置不同的尺寸,例如宽度 = 200,高度 = 200;但是没有任何改变,正如我所说,单元格总是很小,刚好适合其标签的文本。

一个快速的解决方法是为 cellForItemAt 中的标签设置高度和宽度约束,但我想了解为什么 sizeForItemAt 不起作用。

0 投票
1 回答
273 浏览

ios - 为什么 UICollectionView 的委托方法不起作用?

我创建了一个collectionView,并使它的委托符合UICollectionViewDelegateFlowLayout附加到主ViewController的协议,以便修改UICollectionView's单元格的某些方面。最初我是这样做的:

然后我意识到这不起作用,因为有一个错误,所以我修复了它:

问题是我尝试在ViewController中实现的每个方法在运行时似乎都不起作用。

我在这里实现了这个方法:

但它在应用程序运行期间不起作用。

0 投票
1 回答
1382 浏览

ios - UICollectionView 布局在滚动时表现异常

我正在设置一个集合视图,以便在 Instagram 上显示内容。Instagram 的网格

为了设置布局,我使用了UIcollectionviewDelegateFlowLayout的一些委托方法:

当我打开项目时,collectionView 运行良好。当您快速向下滚动 collectionView 以使所有单元格瞬间消失时,就会出现问题。在那一刻,我之前设置的单元格布局不成立,图像变得超级缩放并且彼此重叠,如下所示:混乱的 collectionView 我不知道如何解决这个问题。同样在编译器中我得到这个错误:

0 投票
1 回答
1379 浏览

ios - 动态 UICollectionView 单元格高度

我有一系列不同高度的堆栈视图: [Stack View A, Stack View B, Stack View C, Stack View D]

我想将它们显示在collectionView. 每个stackView进入不同的collectionView cell. 我目前正在使用流布局根据集合中的视图设置高度viewController

是否有可能将其抽象化,以便集合 vc 不需要了解它们的任何信息?我可以传递要在单元格中显示的视图,并且单元格的高度由堆栈视图的高度确定。类似于内在内容大小的东西,而不是在流布局委托sizeforitem方法中设置它。

0 投票
2 回答
224 浏览

swift - segue后屏幕变黑

我试图调试这个但无济于事。

基本上,当我从第一个视图控制器切换到第二个视图控制器时,屏幕会暂时变黑。代码按我的意愿执行,但屏幕变黑对我来说有点痛苦。

这是代码:

从第一页开始:

第二个视图控制器:

第一个功能:

此函数设置页面布局

这设置了页面控件

刷卡控制器扩展:

如果我需要添加任何其他内容,请告诉我!欢迎任何帮助

这是该问题的 youtube 剪辑:

https://www.youtube.com/watch?v=vQGiw3Jd9pM

从那以后,我发现当我注释掉 firebase 方法时,问题就消失了。

0 投票
0 回答
43 浏览

ios - 如何制作具有动态按钮宽度的单行集合视图单元格

伙计们,我正在做一个项目,我想制作一个像这样的导航栏,在这里输入图像描述 我知道导航栏是透明的,在导航栏下方必须有一个 collectionview 或 scrollview 我想知道如何制作这个设计使用collectionview或scrollview,因为我尝试了很多,但也许我不太了解collectionview flowlayout以及哪种方式更好(collectionview或scrollview)。

0 投票
1 回答
68 浏览

ios - 仅在 ScrollView Swift 内的 UICollectionView 中委派滚动事件

我有一个包含UIPageViewController的ABCController和包含 3 个连接到选项卡的不同控制器的控制器。

在连接到UIPageViewController的第一个控制器中,有一个CollectionView委托给它自己的控制器,我正在使用UICollectionViewDelegateFlowLayout来塑造单元格。

但是当我将ABCController中的委托控制器更改为它自己时(使用 mainScroll 制作 syncScroll)

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize

停止工作,因为我将 collectionview 委托给另一个控制器。

有没有办法将滚动事件委托给另一个控制器?

我知道这可能有点复杂,但我希望找到一种方法。

0 投票
0 回答
21 浏览

swift - 如何从头开始填充集合视图 - 快速 - 以编程方式

我正在开发一个聊天视图控制器,这样做时我需要在加载控制器时显示最新消息:我正在使用一个collectionView在另一个之上的单元格布局。

这是我实现的方法并且它有效,但不如我想要的那么好:

  1. 加载少量数据(20 条消息)

  2. 然后使用此功能滚动到底部:

除了每当加载视图时我都需要看到令人讨厌的滚动动画之外,我也不想加载不必要的消息。

有没有办法从底部开始填充集合视图?并“从头开始”填充 :)

我也在网上做了很多研究,但没有发现任何有用和实用的东西。

例如,这个问题建议将集合视图旋转 180°,我试过了,但每当我以动态方式关闭键盘时,它会给我的单元格带来一些错误。滚动指示器位于左侧而不是右侧的事实也令人讨厌。

我很想听听你的观点。

0 投票
1 回答
44 浏览

swift - 动态缩小 UICollectionViewCell 的高度

UICollectionViewDelegateFlowLayout用来在我的收藏视图中显示动态高度的单元格。单元格的大小在 中设置sizeForItemAt

目标:每个集合视图单元格都有一个切换功能,应该将动态计算的高度更改为 50%。这是我遇到问题的地方。

sizeForItemAt我得到动态高度。

sizeForItemAt当单元格上的按钮被按下时,我想更新为以下内容:

如何在更新时更改集合视图单元格的高度sizeForItemAt