TagListView单选swift4个

TagListView single selection swift 4

我尝试使用 TagListView https://github.com/ElaWorkshop/TagListView 的 cocoa pod 创建标签。 我使用 TagListViewDelegate 接收标签按下事件并使用 isSelected 属性。对于 unselected 标签我设置为橙色,而 selected 标签设置为白色。每次用户点击 unselected 标签时,标签都会变成白色(成为 selected)。默认情况下,用户可以 select 多个标签。我想要实现的是,用户一次只能 select 一个标签(变成白色)。这意味着,其他标签将保持未selected(变为橙色)。下面是我已经做过的代码:

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

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

}

在不更新原始 TagListView 的情况下,这个快速简单的解决方案不止一个 类 以支持一种选择

       // 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 {[=10=].isSelected = false}

                tagView.isSelected = !tagView.isSelected
     }