问题标签 [uicollectionviewcell]

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 投票
4 回答
10209 浏览

ios - 在单元格上设置角半径会破坏 UICollectionView 的性能

我有一个UICollectionView只有几个单元格(大约 20 个)的单元格。这个集合的性能很好。但是,一旦我尝试绕过UICollectionViewCells此视图正在渲染的角落,我的表现就会受到重大影响。在我的单元格的 init 方法中,这是我添加的唯一一行:

由于这是在 init 方法中并且我正在正确地重用单元格,所以我不明白为什么这会导致我出现问题。

我尝试使用以下多种组合来调整销售的光栅化和不透明度,但仍然没有效果:

他们是否有一些设置或技巧来提高UICollectionView具有圆角单元格的性能?

0 投票
2 回答
9119 浏览

iphone - iOS 子类 UICollectionViewCell 自定义 init 方法

我正在实现一个自定义 UICollectionViewCell,我想知道如何将模型数据发送给它,以便可以使用数据来初始化单元格的子视图。

我通过这样做注册了我的 MyCollectionViewCell..

在下面的方法中,我做...

我面临的问题是,当一个单元格不在重用队列中时,它会通过调用 initWithFrame 方法(文档确认应该发生)来初始化一个新单元格。但是,我的 MyCollectionViewCell 类中有一个自定义的 init 方法,它是......

我希望调用我的自定义初始化方法。我该怎么做?我没有使用任何笔尖,而是以编程方式进行所有操作。

如果没有办法,我必须改用 initWithFrame 方法,我还能如何将模型数据传递给 MyCollectionViewCell 以便我可以使用该数据初始化子视图?

谢谢!

0 投票
3 回答
4746 浏览

iphone - 自定义 UICollectionViewCell 出错

我正在尝试设置一个UICollectionView. 起初我使用的是 basic UICollectionViewCell,它运行良好,正在显示单元格。

然后我创建了自己的 collectionViewCell(子类UICollectionViewCell化),以便能够在单元格中显示图像。我将 Storyboard 中的自定义单元格与一个标识符相关联,并且我还为它指定了正确的类。

但是,我一直有这个错误,我不明白为什么:

我设法通过在中添加这一行来解决这个错误,viewDidLoad但在我关注的教程中,这些人没有使用它:

问题是如果我添加它,collectionView 仍然是黑色的并且没有数据显示。

0 投票
1 回答
621 浏览

ios - UICollectionViewCell 子视图接收点击 insted

我有一个 UICollectionViewCell,上面有我的一些内容,如图像、标签、视图。

我想获得这种行为(就像正常细胞的相反行为):

  • 默认情况下,这个单元格有一个视图(一个简单的 UIView,设置了一个 alpha 来显示一些不透明度),就像它没有被选中时一样。
  • 当用户选择单元格时,必须删除此 alpha 视图。

如果我尝试安装 UITapRecognizer:

并在方法之后

水龙头是从 self.shadowView 收到的,但它不会发送到单元格....

我该如何解决这个问题?

谢谢

0 投票
1 回答
795 浏览

ios6 - 在 UICollectionViewCell 中显示文本

我目前已经实现了一个带有 UICollectionViewCell 的 UICollectionView,它在单击时会完成一个 segue。但是,我想在 UICollectionViewCell 中显示文本。

我想知道最简单的方法是在 UICollectionViewCell 中仅显示文本并允许在按下文本时发生转场(而不是从空白的 UICollectionViewCell 运行转场)。我曾尝试在 UICollectionViewCell 中使用 TextView,但是当按下 TextView 时,我无法让 segue 运行。

任何意见,将不胜感激。

谢谢。

0 投票
2 回答
3674 浏览

uiimageview - 在 uicollectionview didSelectItemAtIndexPath 方法中更改单元格 imageView

我在 4 个单元格中构建了一个带有固定 imageView 的 CollectionView 控制器。我希望 imageView 改变单元格选择。你能帮我做这个吗?

谢谢

这是我的代码

CollectionView 控制器 .m

……

我想在新闻上改变图像,但我无法弄清楚......

}

0 投票
4 回答
18942 浏览

objective-c - UICollectionViewCell 填充

我正在尝试在集合视图单元格上设置零填充,我已将视图控制器上的“最小间距”设置为:

在此处输入图像描述

然而,细胞之间仍然存在差距:

在此处输入图像描述

我也希望单元格根据框架的宽度很好地包裹,例如每个单元格是 50px 宽,所以如果有六个单元格并且我将框架宽度设置为 150px,它将显示两行三细胞。

但是,如果我通过执行以下操作将框架宽度设置为 150:

它看起来像上面的屏幕截图(太宽)。

如果我将它设置为小得可笑的值,例如 10,它会在某种程度上包装:

在此处输入图像描述

UICollectionViewCell 设置为 50 x 50:

在此处输入图像描述

我还尝试以编程方式设置单元格的大小,并删除了 UIEdgeInset:

我已经禁用了自动布局,以防万一有任何干扰。关于如何移除填充并根据框架宽度/高度将它们包裹起来的任何建议?

0 投票
1 回答
472 浏览

objective-c - 向 UICollectionViewCell 添加阴影会减慢滚动速度

通过将以下代码添加到 cellForItemAtIndexPath 方法,我能够成功地将阴影添加到 UICollectionViewCell

但它使滚动真的很慢。我理解它在滚动时向单元格添加阴影但无法找出解决方案。:/

0 投票
1 回答
608 浏览

iphone - iOS UICollectionView reloadData 错误地将模型映射到 ViewCell

如果 an 中的模型数据NSArray没有改变,并且您调用reloadDataUICollectionView单元格是否出现在不同的位置?

我发现如果我NSArray持有 Obj1、Obj2、Obj3,那么首先,UICollectionView正确地将 Obj1 映射到第一个collectionViewCell,Obj2 到第二个等等。这就是它在 中的设置方式cellForRowAtIndexPath,因为它用于indexPath.row获取正确的 Obj从数组。

但是,当我调用时reloadData,所有对象都映射到错误的 UICollectionViewCell (Obj1 最终出现在其他地方,例如第二个collectionViewCell,而 Obj2 最终成为第三个collectionViewCell等)

为什么会这样?我没有在文档中找到原因。


此外,当我的模型数组发生变化时,我遇到了同样的问题。例如,如果我NSArray的是 Obj1、Obj2、Obj3,然后创建了新的 Objs 实例并且现在以不同的顺序,例如NSArrayis Obj2、Obj3、Obj1... 然后我调用reloadData,我面临同样的情况问题。

Obj2 没有UICollectionViewCell按应有的方式映射到第一个,而是映射到不同的UICollectionViewCell

任何人都知道为什么会发生这种情况UICollectionViews

谢谢!

编辑:代码cellForRowAtIndexPath

0 投票
3 回答
1698 浏览

ios - 如何访问 UICollectionView 中页眉或页脚的特定实例?

我可以调用collectionView:cellForItemAtIndexPath:以获取特定单元格,以便随时修改该单元格——例如,更新其标签。我说的是 on 的类实例方法UICollectionView,而不是UICollectionViewDataSource方法。

但是,页眉/页脚似乎没有类似的方法。collectionView:viewForSupplementaryElementOfKind将返回页眉/页脚的唯一实例,而不是提供已分配的实例。因此,我无法获取指向标头的指针以更新(例如)标签。我被迫重新加载该部分并在collectionView:viewForSupplementaryElementOfKind方法体中对其进行修改。

是否有适当的方法来获取指向特定页眉/页脚的指针,而无需使用自定义对象缓存或标签?