将 indexPath 暴露给 configureCell

Posted

技术标签:

【中文标题】将 indexPath 暴露给 configureCell【英文标题】:Expose indexPath to configureCell 【发布时间】:2018-03-09 00:36:24 【问题描述】:

目前 configureCell 只能访问单元格和 IndicatorInfo。在我的用例中,我想知道单元格的 indexPath 以便我知道我正在配置哪个单元格并相应地进行自定义。具体来说,我们希望第一个单元格(indexPath 0)显示与其余单元格略有不同。

IndicatorInfo 目前是一个结构体,所以我不能对它进行子类化来添加另一个字段来存储 indexPath。

【问题讨论】:

【参考方案1】:

只需更改 configureCell() 的定义并将 indexPath 添加到它,因为它在集合视图的 cellForItemAt 函数中被调用:

collectionView(_collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell

所以基本上,请按照以下步骤操作:

    转到文件 -> ButtonBarPagerTabStripViewCONtroller.swift 寻找 configureCell() 函数。 添加 indexPath: IndexPath 作为定义中的参数之一 检查 configureCell() 的使用情况并在函数调用中传递索引路径。 当您开始编辑此文件时,它会要求您解锁它。您必须在提示中允许这样做。 现在,当您覆盖您的 configureCell() 函数时,它也会为您提供 indexPath。

参考下面的截图:

【讨论】:

感谢您提供有关如何操作的信息!所以听起来默认情况下不支持它,因此建议更改库的源文件以添加功能?想知道作者是否会考虑添加这些内容? 是的。也许。我确实尝试了在没有这种改变的情况下实现它的方法。但这似乎是最干净的解决方案。如果它对您有意义,请接受它。谢谢。 @FabeTob

以上是关于将 indexPath 暴露给 configureCell的主要内容,如果未能解决你的问题,请参考以下文章

将indexpath标签传递给tableview原型单元格内的按钮

如何将 uitableview 选择与 indexpath 值居中

将 IndexPath 行值传递给委托函数而不是 Sender.tag 以删除图像项 CollectionView Swift

.well-known/openid-configuration 页面中的信息暴露在互联网上,是不是存在安全问题?

如何将 indexPath 从 segue 传递到目标视图?

Configuration Management