如何根据单元格文本获取 UICollectionViewCell 的 indexPath?

Posted

技术标签:

【中文标题】如何根据单元格文本获取 UICollectionViewCell 的 indexPath?【英文标题】:How to get indexPath of UICollectionViewCell based on cell text? 【发布时间】:2016-11-28 19:23:01 【问题描述】:

我将单元格标题标签从“集合视图 A”传递到“集合视图 B”。所以现在在集合视图 B 中,我有单元格的标题标签。

在集合视图 B 的 viewDidAppear 方法中,我想使用 scrollToItemAtIndexPath 滚动到包含具有该标题标签的单元格的正确索引。

我该怎么做呢?

【问题讨论】:

【参考方案1】:

集合的工作方式类似于 TableView。大多数人在他们的集合或 tableview 后面都有一个数据的后备存储,这是一个数据按正确顺序排列的数组。因此,当调用 cellForRowAtIndexPath 或 cellForItemAtIndexPath 调用时,您只需从后备存储中填充值。如果您的模型与此相同,您只需在集合视图 B 后备存储数组中搜索标签,并记下它所在的行。

【讨论】:

这个在数组中的搜索和其余的逻辑将在 cellForItemAtIndexPath 而不是 viewdidAppear 中进行? 您有两个收藏。您可以根据系统要求的索引路径确定在每个单元格中放入的内容。此方法由 cellForItemAtIndexPath 调用。也许它是一个数组,也许它是一个动态函数。当您需要找出您的神秘标签在 B 中的哪个位置时,只需调用与 cellForItemAtIndexPath 在获取索引路径时执行的相同过程。 然后为所有行调用该过程,直到找到您的标题。

以上是关于如何根据单元格文本获取 UICollectionViewCell 的 indexPath?的主要内容,如果未能解决你的问题,请参考以下文章

根据单元格OBjective-C中的标签文本(动态)增加单元格高度

如何根据标签文本快速更改表格视图单元格高度?

集合视图更改单元格大小

从自定义 tableView 单元格文本字段中获取数据

给定 XCUITest 中的文本,如何获取单元格的索引?

单击表格单元格时无法获取表格标题文本