         self._addTagView(tagView)
     }
     
+    public func addTagViews(tagViews: [TagView]) {
+        self._addTagViews(tagViews)
+    }
+    
     public func removeTagView(tagView: TagView) {
         self._removeTagView(tagView)
+    }
+    
+    public func removeAllTagViews() {
+        self._removeAllTagViews()
     }
 }
 

            let newOrigin: CGPoint = self._originForTagView(tagView)
            if newOrigin != tagView.origin {
                tagView.origin = newOrigin
            } else {
                break
            }
        }
    }

}


// MARK: Add / Remove TagViews
private extension TagsView {
    private func _addTagView(tagView: TagView) {
        self._addTagViews([tagView])
    }
    
    private func _addTagViews(tagViews: [TagView]) {
        self._tagViews += tagViews
        
        for tagView in tagViews {
            let origin: CGPoint = self._originForTagView(tagView)
            tagView.origin = origin
            self._scrollView.addSubview(tagView)
        }
        
        self._updateScrollViewContentHeight()
    }
