madhatter989
madhatter989

Reputation: 281

TagListView single selection swift 4

I try to create tag using cocoa pod of TagListView https://github.com/ElaWorkshop/TagListView. I use TagListViewDelegate to receive tag pressed event and used isSelected property. For unselected tag i set as orange color, while selected tag as white color. Each time user click unselected tag, the tag will turn to white color (become selected). For the default, user can select multiple tags. What i want to achieve is, user only can select one tag (turn to white color) at once. It means, other tags will remain unselected (turn to orange color). Below is the code on what i had already did:

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

    if tagView.isSelected == false {
        tagView.isSelected = true
    }

}

Upvotes: 1

Views: 2872

Answers (1)

Abdelahad Darwish
Abdelahad Darwish

Reputation: 6067

there is more than solution this fast and easy one without update original TagListView classes to support one selection

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

                // loop over all tags and set selected to false

                 sender.tagViews.forEach {$0.isSelected = false}

                tagView.isSelected = !tagView.isSelected
     }

Upvotes: 4

Related Questions