在 UITableViewCell 内的 TagViews 中执行操作



我正在使用TaglistView在UITableViewCell中显示标签。 https://github.com/ElaWorkshop/TagListView

现在需要获取在特定索引路径上选择的标签的 id。

例如:JSON 数组的格式为:

索引 0 : [{ 名称: "abc", 值:"11" },{ 名称: "c", 值:"12"}]

索引 1 : [{ 名称: "abcd", 值:"21" },{ 名称: "abcde", 值:"22" }]

索引 2 : [{ 名称: "abcde", 值:"31" }, { 名称: "ABCDE", 值:"32" }]

我用于添加标签列表的代码:

func configureCell (tableView: UITableView, cell: PlaylistCell, indexPath: IndexPath){
// Setup TagView
cell.tagListView.removeAllTags()
for tag in array?[indexPath.row].sponsoredBy ?? [] {
cell.tagListView.addTag(tag.name ?? "")
}
cell.tagListView.delegate = self

}

现在标记列表委托方法:

func tagPressed(_ title: String, tagView: TagView, sender: TagListView) {
print("Tag pressed: (title)")
}

我正在获取按下标签的名称,但需要获取相同的值。

您可以使用indexPath.row将标记分配给tagListView,就像在cellForRow中一样

tagListView.tag == indexPath.row

现在标记列表委托方法:

func tagPressed(_ title: String, tagView: TagView, sender: TagListView) {
let yourObject = yourArrayOfTagListContainer[tagView.tag]
print("Tag pressed: (yourObject.value)")
}

希望对你有帮助

最新更新