Выполните действие в TagViews внутри UITableViewCell - PullRequest
0 голосов
/ 05 февраля 2020

Я использую TaglistView для отображения тегов в UITableViewCell. https://github.com/ElaWorkshop/TagListView

Теперь необходимо получить идентификатор для тега, выбранного на определенном пути индекса.

например: JSON массив в формате:

Индекс 0: [{name: "ab c", значение: "11"}, {name: "c ", значение:" 12 "}]

Индекс 1: [{name:" abcd ", значение:" 21 "}, {name:" abcde ", значение:" 22 "}]

Индекс 2: [{name: "abcde", значение: "31"}, {name: "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


    }

Теперь метод Taglist Delegate:

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

Я получаю имя тега нажатым, но мне нужно получить его значение.

1 Ответ

3 голосов
/ 05 февраля 2020

Вы можете назначить тег на tagListView с помощью indexPath.row, как в cellForRow

tagListView.tag == indexPath.row

Теперь метод делегирования тегов:

func tagPressed(_ title: String, tagView: TagView, sender: TagListView) {
    let yourObject = yourArrayOfTagListContainer[tagView.tag]

    print("Tag pressed: \(yourObject.value)")
}

Надеюсь, это поможет

...