问题标签 [uicollectionviewflowlayout]

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 回答
2325 浏览

ios - 如何居中对齐我的 collectionView 单元格?

我在这里尝试了这个解决方案,但它似乎只适用于垂直布局。我正在尝试使其适用于水平布局。就我而言,我总是希望顶部有 3 个单元格,底部有 2 个单元格,它们是居中对齐的。

例子:例子

0 投票
0 回答
108 浏览

swift3 - 如何自定义集合视图流程布局单元格

我正在使用集合视图创建电影票应用程序。我被困在collectionView 中安排座位。如何自定义自定义流布局?我想要集合视图单元格的特定行中的特定数量的座位

请看看我的用户界面

在这里,我采取了三个集合视图。我已经隐藏了特定的单元格。我不知道如何修改这个。可以用一个集合视图来完成吗?任何建议将不胜感激。

0 投票
1 回答
876 浏览

ios - 使用 UICollectionView 自定义发送消息动画,如 iMessage 发送消息

我正在开发聊天应用程序。我正在使用UIcollectionview显示消息。我正在尝试在发送按钮上创建动画。当用户点击发送UIButton时,我需要像 iMessage 这样的动画。为了创建这样的动画,我使用了两种不同的方式,但没有得到正确的动画。我创建了一个演示。在那个演示中,我实现了不同的方法。

演示链接:
https ://www.dropbox.com/s/z8rxjkpuxzs95kp/AdvanceCollection.zip?dl=0

下面是我实际需要的动画: https ://www.dropbox.com/s/yo35lsm7yrc2oqu/Screen%20Recording.mov?dl=0

我应用了两种方法。下面是方法说明。

第一种方法: 在第一种方法中,我自定义了FlowLayout。我知道这是正确的方法,但没有得到正确的曲线动画。

第二种方法:在第二种方法中,我在willdisplaycell方法中实现动画。根据我的观点,我知道这不是自定义布局的正确方法,但我尝试过。在第二种方法中,我从底部获取动画,但xywidthheight。此外,任何可见的动画也与iMessage 发送消息动画不同

0 投票
1 回答
152 浏览

objective-c - UICollectionView targetContentOffsetForProposedContentOffset:被 UIScrollView 覆盖

当我在顶部插入一些项目时,我有一个自定义 UICollectionViewFlowLayout 我计算适当的并将其从targetContentOffsetForProposedContentOffset:.

问题是在顶部的第一个插入批量更新中,UIScrollView调用 in 方法从完全关闭_smoothScrollDisplayLink:的值返回的值覆盖 contentOffset (例如,我返回 900 秒,它会将其覆盖为 500 秒)targetContentOffsetForProposedContentOffset:

在下面的插入批量更新UISCrollView方法中设置的值是非常合理的。

更多信息#1:

我尝试在顶部插入项目,但保持滚动位置不变,所以基本上我将内容偏移设置为当前 contentOffset + 插入更新前后之间的高度增量

更多信息 #2:这是我记录的一些真实值:

0 投票
1 回答
980 浏览

ios - 以编程方式在 UICollectionView 单元中的 UI CollectionView

嗨,我正在尝试使用 UICollectionView 制作像 facebook 这样的家庭提要,但是在每个单元格中,我想放置另一个具有 3 个单元格的 collectionView。

您可以在此处克隆项目

我有两个错误,第一个是当我在内部集合上滚动时查看反弹不会将单元格带回中心。当我创建集合视图时,我启用了分页并将 minimumLineSpacing 设置为 0,我不明白为什么会这样。当我尝试调试时,我注意到当我删除此行时此错误停止

layout.estimatedItemSize = CGSize(width: cv.frame.width, height: 1)

但是删除那条线会给我带来这个错误

未定义 UICollectionViewFlowLayout 的行为,因为:项目高度必须小于 UICollectionView 的高度减去部分插入顶部和底部值,减去内容插入顶部和底部值

因为我的单元格有一个动态高度这里是一个例子

例子

我的第二个问题是每个内部单元格上的文本都显示好文本我必须滚动到内部集合视图的最后一个单元格才能看到这里显示的好文本是一个例子 例子

0 投票
0 回答
181 浏览

swift - 带有 UICollectionElementKindSectionHeader 的 UICollectionViewScrollPosition.top

我觉得这应该很容易完成,但由于某种原因我迷路了。我有一个可以滚动 UICollectionView 的按钮,因此给定 IndexPath 处的单元格位于屏幕顶部。问题是该方法没有考虑补充标题视图。所以 :

实际上意味着单元格在标题下消失。如何最好地解决,以便调用UICollectionViewScrollPosition.top滚动到标题下的顶部?

在我的 UICollectioViewController 的 viewDidLoad

0 投票
2 回答
1453 浏览

ios - UICollectionView 项目顺序在从右到左的语言中不颠倒

我注意到一个大问题,在从右到左的语言中,单元格的顺序没有正确反转,只有对齐是正确的。但仅适用于水平流布局,并且如果集合视图包含不同的单元格大小!是的,我知道这听起来很疯狂。如果所有单元格大小相同,则排序和对齐良好!

这是我到目前为止使用示例应用程序得到的结果(隔离以确保这是实际问题,而不是其他问题):

(第一个条形图应始终绘制为蓝色,然后随着索引大小增加。) 在此处输入图像描述

这是UICollectionViewFlowLayout(在 iOS 11 上)的内部错误吗?还是有什么明显的我遗漏的东西?

这是我的测试代码(没什么花哨的 + XIB with UICollectionView):

0 投票
0 回答
34 浏览

objective-c - CollectionViewFlowLayout 问题

当我添加带有集合视图的 UICollectionViewFlowLayout 文件时。collectionViewCell 高度不会根据集合视图增加。它需要从顶部和底部的间距:

图像路径

我创建了 UICollectionViewLayout 的子类。

0 投票
1 回答
1134 浏览

ios - 具有动态高度的水平 CollectionView 导致 FlowLayout 警告

我有一个包含两个图像的横向滚动集合视图。用户可以在运行时更改这些图像。这种变化可能会导致集合视图单元格大小的变化,因此集合视图也需要根据单元格的高度调整其高度。

我已经实现了 UICollectionViewDelegateFlowLayout 协议和 sizeForItemAt 函数,它返回给定图像的正确单元格大小。

我还有一个连接到我的收藏视图的高度约束插座,它允许我更改其高度,以匹配所选图像的高度值。

当绘制到屏幕上时,这一切都按照您的预期呈现,但我收到错误“未定义 UICollectionViewFlowLayout 的行为,因为..”,抱怨 sizeForItemAt 返回的高度超过了我的集合视图默认高度(在故事板)。

一旦我改变了它的高度约束,似乎我需要使我的集合视图布局无效,以便在 sizeForItemAt 返回单元格大小之前用这个新值更新集合视图布局。

我尝试在更新集合视图高度约束后立即调用 UICollectionViewLayouts invalidateLayout() ,但这没有帮助。

对我做错了什么有任何想法吗?

0 投票
2 回答
1124 浏览

ios - UICollectionViewController 与流布局崩溃

我刚刚以UICollectionViewController编程方式创建了一个。到这里一切都很好,但我面临一些问题。调用 CollectionViewController 时,我的应用程序立即崩溃,返回此错误。

'UICollectionView 必须使用非零布局参数初始化'

我当然尝试插入UICollectionViewFlowLayout,但它继续崩溃,我不明白为什么。有人可以向我解释如何在UICollectionViewController不使用情节提要的情况下使用 a 吗?

我在哪里做错了?