Skip to content

whitesmith/WSTagsField

Repository files navigation

WSTagsField

Carthage Compatible SwiftPM Compatible CocoaPods Compatible Swift 5.1 Platforms iOS Build Status License MIT

An iOS text field that represents tags, hashtags, tokens in general.

WSTagsField

Usage

let tagsField = WSTagsField() tagsField.layoutMargins = UIEdgeInsets(top: 2, left: 6, bottom: 2, right: 6) tagsField.contentInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10) tagsField.spaceBetweenLines = 5.0 tagsField.spaceBetweenTags = 10.0 tagsField.font = .systemFont(ofSize: 12.0) tagsField.backgroundColor = .white tagsField.tintColor = .green tagsField.textColor = .black tagsField.fieldTextColor = .blue tagsField.selectedColor = .black tagsField.selectedTextColor = .red tagsField.delimiter = "," tagsField.isDelimiterVisible = true tagsField.placeholderColor = .green tagsField.placeholderAlwaysVisible = true tagsField.keyboardAppearance = .dark tagsField.returnKeyType = .next tagsField.acceptTagOption = .space tagsField.shouldTokenizeAfterResigningFirstResponder = true // Events tagsField.onDidAddTag = { field, tag in print("DidAddTag", tag.text) } tagsField.onDidRemoveTag = { field, tag in print("DidRemoveTag", tag.text) } tagsField.onDidChangeText = { _, text in print("DidChangeText") } tagsField.onDidChangeHeightTo = { _, height in print("HeightTo", height) } tagsField.onValidateTag = { tag, tags in // custom validations, called before tag is added to tags list return tag.text != "#" && !tags.contains(where: { $0.text.uppercased() == tag.text.uppercased() }) } print("List of Tags Strings:", tagsField.tags.map({$0.text}))

Installation

To install it, simply add the following line to your Cartfile:

github "whitesmith/WSTagsField"

Then run carthage update.

Follow the current instructions in Carthage's README for up to date installation instructions.

To install it, simply add the following line to your Podfile:

pod "WSTagsField"

Then run pod install with CocoaPods 1.8.0 or newer.

Swift Package Manager

Using Xcode 11, just go to "File" > "Swift Packages" > "Add Package Dependency..." and use this repository: https://github.com/whitesmith/WSTagsField.

Manually

Download all the source files and drop them into your project.

Requirements

  • iOS 9.0+
  • Xcode 11 (Swift 5.1)

Contributing

The best way to contribute is by submitting a pull request. We'll do our best to respond to your patch as soon as possible. You can also submit a new GitHub issue if you find bugs or have questions. :octocat:

Credits

Whitesmith

This project was inspired by CLTokenInputView.

Sponsor this project

 

Packages

 
 
 

Contributors