将 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 页面中的信息暴露在互联网上,是不是存在安全问题?